我正在使用sidekiq和sidekiq-status来检查工作何时完成以继续执行操作。 我使用的方法效率不高,但确实如此。
控制器:
myjob = JobCreator.perform_async(my_param)
sleep(1)
10.times do
status = Sidekiq::Status::get myjob, :job_status
if ["OK","FAIL","NOMONEY"].include?(status)
result << status
break
end
sleep(1)
end
如何以更直接,快速和有效的方式实现这一目标?
答案 0 :(得分:2)
Sidekiq的专业版有一个feature called Batches,其中还包括配置callbacks和获取批量状态的功能。
批次被定义为一组作业,但没有什么可以阻止您批量使用作业。
据我所知,这是目前支持回调的唯一功能。