在rails / heroku

时间:2017-08-30 09:30:00

标签: ruby-on-rails ruby-on-rails-4 heroku

如何在rails / heroku中在运行时动态创建和运行重复延迟的作业,并根据需要删除它们?这有什么好的宝石吗?

我希望能够根据用户的选择从运行时以可配置的频率安排延迟作业。有没有可以帮助我实现这一目标的宝石?这是专门用于安排特定频率和开始和结束日期的定期付款,因此我需要能够检索延迟的作业并停用它们。谢谢你的任何意见。

2 个答案:

答案 0 :(得分:1)

每当时,你可以选择名为的宝石。它有非常好的文档,我认为它将帮助您找到您想要的东西。这是链接https://github.com/javan/whenever

答案 1 :(得分:1)

您可以使用至少两个好的解决方案:

  1. Heroku Scheduler https://elements.heroku.com/addons/scheduler)。

  2. 发条宝石https://github.com/Rykian/clockwork)。在Heroku上 你会把它作为一个单独的dyno旋转。

  3. 我建议你只使用例如工作队列向后台工作队列添加作业。 Sidekiq,延迟::工作或SuckerPunch。原因是你不希望你的调度程序冻结,因为你的任务会浪费CPU周期和RAM。