如何运行第二个工人,在第一个工人期间?
How running second worker, during the first worker?
我有一个 table 有两列 foo
和 bar
,我有一个 sidekiq worker 在 foo
中记录对象,还有第二个 worker从 foo
获取对象,将它们转换并放入 bar
.
第二个工人在第一个工人成功完成后开始,但我想 运行 几秒钟后它首先开始 daemon.That 他们在 同时工作 .
我尝试使用 sidekiq-superworker
gem,然后执行此操作
Superworker.define(:MySuperworker) do
FirstWorker do
SecondWorker
end
end
但是第二个worker是在full complete first worker之后启动的,怎么办?
作业是异步的,因此您无法准确控制它们何时 运行 但您可以控制何时创建它们:
class FirstWorker
def perform
# create foo
SecondWorker.perform_async(...)
# do more work
end
end
我有一个 table 有两列 foo
和 bar
,我有一个 sidekiq worker 在 foo
中记录对象,还有第二个 worker从 foo
获取对象,将它们转换并放入 bar
.
第二个工人在第一个工人成功完成后开始,但我想 运行 几秒钟后它首先开始 daemon.That 他们在 同时工作 .
我尝试使用 sidekiq-superworker
gem,然后执行此操作
Superworker.define(:MySuperworker) do
FirstWorker do
SecondWorker
end
end
但是第二个worker是在full complete first worker之后启动的,怎么办?
作业是异步的,因此您无法准确控制它们何时 运行 但您可以控制何时创建它们:
class FirstWorker
def perform
# create foo
SecondWorker.perform_async(...)
# do more work
end
end