我正在使用resque进行作业调度。我想每1小时做一份工作,只做N次。 我也希望将作业中的计数作为参数传递
例如:
i=0
50.times do
every 1.hour, roles: [:whenever_cron] do
runner "Resque.enqueue(SomeJob, i+1)"
end
end
我该怎么做?
注意: - 我不想每小时运行50个作业。我想要完成50次工作
答案 0 :(得分:2)
计划语法适用于重复作业。那些一次又一次地发生的事情,直到时代的结束。
对于单次作业,您可以选择延迟(这是您需要的)。因此,您可以一次性排队整批作业,增量为1小时:
1.upto(50).each do |x|
Resque.enqueue_in(x.hours, SomeJob)
end