Dam*_*IEU 7 ruby cron ruby-on-rails delayed-job
我正在使用延迟作业来管理后台工作.
但是我有一些需要定期执行的任务.例如,每小时,每天或每周.
现在,当我执行任务时,我创建一个新的,在一天/周/月内执行.
但是我真的不喜欢它.如果由于任何原因,任务未完全执行,我们不会创建下一个任务,我们可能会丢失任务的执行.
你如何在rails应用程序中管理那种事情(延迟工作)以确保你的常规任务列表仍然正确?
小智 5
如果你有权访问Cron,我强烈推荐Whenever
http://github.com/javan/whenever
您可以指定要运行的内容以及死亡简单ruby中的频率,并在每次提供rake任务时将其转换为crontab并更新系统的crontab.
如果你没有访问频繁的cron(就像我没有,因为我们在Heroku上),那么DJ就是你要走的路.
你有几个选择.
做你正在做的事.DJ会重复每次任务一定次数,所以你在那里有一些宽容
将创建下一个DJ作业的代码放在ensure块中,以确保即使在异常或其他不良事件之后也可以创建它
创建另一个定期运行的DJ,检查以确保存在适当的DJ,如果不存在则创建它们.当然,这与其他选项一样容易出错,因为显示器和实际的DJ都在同一个环境中运行,但它确实存在.
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |