我使用sidekiq scheduler 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
由于
答案 0 :(得分:2)
只需删除-r
参数,然后sidekiq将加载您的rails环境(阅读:所有模型和其他内容)
你也可以删除-e
(然后将从RAILS_ENV
env var中取出,无论如何都要设置它。)
通过bundler运行二进制文件是个好主意。所以,你的命令就是这样:
bundle exec sidekiq