如何在第一个工人中运行第二个工人?

时间:2015-04-15 10:11:27

标签: ruby-on-rails sidekiq

我有一个包含两列foobar的表,我有一个记录foo中对象的sidekiq工作者,以及从{{1}获取对象的第二个工作者转换它们并放到foo

第二个工作程序在成功完成第一个工作程序后启动,但我希望在几秒钟之后运行它作为启动第一个守护程序。它们在同时工作

我尝试使用bar宝石,并执行此操作

sidekiq-superworker

但是第二个工人是在完全完成第一个工人之后开始的,怎么做?

1 个答案:

答案 0 :(得分:1)

作业是异步的,因此您无法准确控制它们的运行时间,但您可以控制何时创建它们:

class FirstWorker
  def perform
    # create foo
    SecondWorker.perform_async(...)
    # do more work
  end
end