【发布时间】:2017-08-18 17:14:41
【问题描述】:
我正在寻找一种能够连续运行Active Job 的方法。理想情况下,长时间运行的 Job 1 计划在某个时间运行。类似运行的 Job 2 仅在 Job 1 完成后运行。然后,作业 3 等待作业 2 运行完成,然后再开始,依此类推。
我不得不承认我对 Rails 中的后台作业相当陌生,但我已经在使用带有 Sidekiq 的 Active Job 作为简单的即发即弃任务的作业运行器。 我喜欢 Active Job,因为它提供了一个足够简单的界面,几乎可以立即进入后台作业处理。例如,我可以使用 Sidekiq 而无需定义工人。
作为参考,我已经取得了类似的成果,但它是在 .NET 上使用优秀的 Hangfire 库,其中包含 continuations,您可以在其中传递父作业的 ID,确保作业仅在父作业之后运行已成功完成。
如果有像使用 Sidekiq 和 Active Job 这样干净简单的东西会很好,但实际上任何实现相同目标的替代方法都是受欢迎的。不一定是 Sidekiq 和 Active Job。
【问题讨论】:
标签: ruby-on-rails sidekiq