如何链Rails ActiveJobs

时间:2017-08-18 08:50:29

标签: ruby-on-rails sidekiq

我正在寻找一种能够连续运行Active Job的方法。理想情况下,长时间运行的作业1计划在特定时间运行。类似运行的作业2将仅在作业1完成后运行。然后,作业3等待作业2在开始之前运行完成,依此类推。

我不得不承认我对Rails中的后台工作比较陌生,但我已经将Sidekiq的Active Job用作简单的“即发即弃”任务的工作流程。 我喜欢Active Job,因为它提供了一个足够简单的界面,几乎可以立即潜入后台作业处理。例如,我可以使用Sidekiq而无需定义工人。

作为参考,我已经取得了类似的成果,但它在.NET上使用了Hangfirecontinuations,其中{{3}}您传递父作业的ID,确保作业将仅在父作业成功完成后运行。

拥有像使用Sidekiq和Active Job一样干净简单的东西会很不错,但实际上任何可行的方法都是受欢迎的。它不一定是Sidekiq和Active Job。

1 个答案:

答案 0 :(得分:1)

最直接的方法是从第二份工作中拨打第三份工作,在第一份工作中拨打第二份工作