无法在Sidekiq工作类中调用Rails模型

时间:2017-05-28 13:25:24

标签: ruby-on-rails ruby sidekiq

我使用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

由于

1 个答案:

答案 0 :(得分:2)

只需删除-r参数,然后sidekiq将加载您的rails环境(阅读:所有模型和其他内容)

你也可以删除-e(然后将从RAILS_ENV env var中取出,无论如何都要设置它。)

通过bundler运行二进制文件是个好主意。所以,你的命令就是这样:

 bundle exec sidekiq