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

前端之家收集整理的这篇文章主要介绍了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.

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

猜你在找的Ruby相关文章