ruby-on-rails – Rails中的动态作业调度

我已经看了一些Rails的调度库,我想要一些帮助选择一个,因为没有一个似乎符合我的要求.这是一个相当常见的用例:

我们有许多报告,我们希望让用户设置时要安排通过邮件发送特定报告的时间和频率.用户需要能够看到他们安排的报告的列表,他们应该能够取消或更改现有的计划报告.计划的作业在服务器重新启动后应该能够幸免.目前,我并不担心只能在一组轨道服务器上的单个节点上运行作业.

> Rufus scheduler看起来不错,但是我必须编写代码来保留作业,并在rails重新启动时重新启动它们.
> Delayed_job处理持久性,但我无法看到如何定期运行作业,除非可能在新的运行时重新安排作业
resqueresque-scheduler似乎非常接近,但我想避免将redis添加到我们的堆栈,我可能会最终尝试重新实现一些在rails中的UI,以便用户可以添加/删除/管理作业,如果可以使用与应用程序的其余部分相同的ActiveRecord后端,则很棒.

解决方法

我建议在实际作业中使用Delayed :: Job,因为它可以自动处理用户的持久性,您可以使用delayed_jobs表进行管理(允许用户修改/删除已启动的作业).

关于自动安排作业,您可以使用Clockwork宝石.它是由Heroku构建的(如果我没有错误),并且本质上允许你在你的ruby / rails应用程序中模仿/替换cron.

上面有两个图书馆,你已经有了所有的基础.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...