0
我們使用Asgard來部署使用Sidekiq的Rails 4應用程序。我們想知道正在進行部署並終止工作節點時,隊列中的作業會發生什麼情況。工作節點重新啓動時正在運行的Sidekiq作業會發生什麼情況?
Sidekiq的關機過程是什麼?它是否會重新入選那些不會完成的工作,還是會失去正在運行的工作狀態?
我們使用Asgard來部署使用Sidekiq的Rails 4應用程序。我們想知道正在進行部署並終止工作節點時,隊列中的作業會發生什麼情況。工作節點重新啓動時正在運行的Sidekiq作業會發生什麼情況?
Sidekiq的關機過程是什麼?它是否會重新入選那些不會完成的工作,還是會失去正在運行的工作狀態?
如果某個作業在停止信號後的8秒內沒有完成 - 它將在Redis中被推入並在稍後重新啓動。 Sidekiq wiki:
默認情況下,Sidekiq給員工8秒關機時間。這是精心挑選的 ,因爲Heroku在殺死它之前給出了一個進程10秒關機 。 8秒後,任何仍在 進度中的剩餘作業將被推回到Redis上,以便在Sidekiq開始備份時可以立即重新啓動 。請記住,Sidekiq將運行至少一次您的工作 ,因此他們需要是冪等的。這是一個可以如何運行兩次作業的示例。
正確,您可以使用'-t'來調整8秒的默認值 –