【发布时间】:2016-06-29 17:05:10
【问题描述】:
我正在运行一个 ruby on rails 应用程序,它需要每分钟执行一次特定任务:
scheduler.every '1m' do
.....
end
但有时,完成这项工作需要超过 1 分钟的时间。正在发生的事情是,在他完成之前,Rufus 开始了一项新工作,这在它结束之前“杀死”了之前的工作。 有什么办法可以让 Rufus 在开始下一项工作之前完成这项工作?
Ps.:仍在开发中,所以我正在使用 Webrick
【问题讨论】:
-
嗯。我对 Rufus 不熟悉,但我做了很多调度。你可能会考虑做一个间隔工作。来自 Rufus 的文档:
Whereas "every" jobs are like "every 10 minutes, do this", interval jobs are like "do that, then wait for 10 minutes, then do that again, and so on"基本上,如果您安排其中一个,它将等待其完成,然后在 1m(或任何您的间隔)内再次安排。
标签: ruby-on-rails ruby rufus-scheduler