2015-10-10 34 views
1

我正在使用sidekiq和sidekiq-status來檢查工作是否完成以繼續執行操作。 我使用的方法效率並不高,但它確實有效。Sidekiq。在完成作業後發送回調

控制器:

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

[如何在一組工作人員完成時執行Sidekiq回調]的可能副本(http://stackoverflow.com/questions/25205339/how-to-perform-a-sidekiq-callback-when-a-小組的工作人員是完整的) –

回答

2

Sidekiq的Pro版本有feature called Batches,它還包括配置callbacks並獲取批處理狀態的功能。

批次被定義爲作業集合,但沒有任何東西阻止您批量使用作業。

據我所知,這是目前支持回調的唯一功能。

+0

有關於此的任何更新? –