加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:57:51 所属栏目:百科 来源:网络整理
导读:我已经看了一些Rails的调度库,我想要一些帮助选择一个,因为没有一个似乎符合我的要求.这是一个相当常见的用例: 我们有许多报告,我们希望让用户设置时要安排通过邮件发送特定报告的时间和频率.用户需要能够看到他们安排的报告的列表,他们应该能够取消或更改
我已经看了一些Rails的调度库,我想要一些帮助选择一个,因为没有一个似乎符合我的要求.这是一个相当常见的用例:

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读