使用Whenever gem延迟作业自定义作业类型

时间:2013-05-26 03:14:13

标签: ruby-on-rails ruby-on-rails-3 cron delayed-job whenever

我每隔6分钟就会使用发条来运行自定义延迟作业。我打算每当宝石而不是发条时尝试。有没有人知道我应该在每当gem时这样做:

 Delayed::Job.enqueue(DelayedRake.new("contact:new"),priority:1,run_at: Time.now)

通过发条,我就是这样做的

every(1.hour, 'Fetching New Contacts',at: '**:01') { Delayed::Job.enqueue(DelayedRake.new("contact:new"),priority:1,run_at: Time.now) }

使用发条宝石,它工作得很完美。我们正在将我们的应用程序从Heroku移至EC2,我不想在我们的Amazon EC2实例上使用发条。

解决这个问题的任何帮助都会非常适合。

1 个答案:

答案 0 :(得分:0)

这是应该做的:

every 1.hour, at: 1 do
 runner 'Delayed::Job.enqueue(DelayedRake.new("contact:new"),priority:1,run_at: Time.now)'
end

像魅力一样工作。以下是github问题的链接:Custom Jobs of delayed_job with Whenever.