【发布时间】:2011-07-18 21:50:36
【问题描述】:
是否可以使用delayed_job做以下事情:
定义一个名为
Tasks的类让 Tasks 中的方法每 5 分钟运行一次:
Tasks.do_processing当下一个 5 分钟周期到来时,如果 上一个
do_processing已完成,则运行Tasks.do_processingonly
这是我必须自己创建的东西还是可以延迟_job(或其他一些 gem/插件)这样做?
Ps. 我知道操作系统级别的 cron 作业,但如果我使用它,则意味着每次 cron “触发”时都会重新加载整个 Rails 环境,而延迟作业只需要加载一次。
【问题讨论】:
-
尝试github.com/jmettraux/rufus-scheduler 并设置
:allow_overlapping => false
标签: ruby-on-rails-3 scheduled-tasks delayed-job