无法在 Sidekiq worker class 中调用 Rails 个模型
Unable to call Rails Models inside Sidekiq worker class
我正在使用 sidekiq 调度程序 gem 在后台安排和 运行 任务。
设置工作正常,任务得到正确安排和执行,但是,如果我想要 rails 模型内部的 运行 方法,我不能。我就是这样 运行 sidekiq:
sidekiq -r ./app/workers/get_new_users.rb -e production
如何让我的 get_new_users 脚本调用模型中的方法?
require 'sidekiq-scheduler'
class GetNewUsers
include Sidekiq::Worker
def perform
puts User.find(1)
end
end
谢谢
只需删除 -r
参数,sidekiq 就会加载您的 rails 环境(阅读:您所有的模型和其他东西)
您也可以删除 -e
(然后将从 RAILS_ENV
env var 中获取,无论如何都应该设置)。
通过捆绑器 运行 您的二进制文件是个好主意。所以,你的命令变成这样:
bundle exec sidekiq
我正在使用 sidekiq 调度程序 gem 在后台安排和 运行 任务。 设置工作正常,任务得到正确安排和执行,但是,如果我想要 rails 模型内部的 运行 方法,我不能。我就是这样 运行 sidekiq:
sidekiq -r ./app/workers/get_new_users.rb -e production
如何让我的 get_new_users 脚本调用模型中的方法?
require 'sidekiq-scheduler'
class GetNewUsers
include Sidekiq::Worker
def perform
puts User.find(1)
end
end
谢谢
只需删除 -r
参数,sidekiq 就会加载您的 rails 环境(阅读:您所有的模型和其他东西)
您也可以删除 -e
(然后将从 RAILS_ENV
env var 中获取,无论如何都应该设置)。
通过捆绑器 运行 您的二进制文件是个好主意。所以,你的命令变成这样:
bundle exec sidekiq