[英]Long-running Sidekiq jobs keep dying
我正在使用sidekiq gem來處理Rails中的后台作業。 出於某種原因,這項工作在一段時間后就會停止 - 這個過程要么變得反應遲鈍,要么出現在top
但沒有多少,或者神秘地消失,沒有錯誤(沒有向airbrake.io報告)。
有沒有人有這方面的經驗?
使用TTIN信號獲取流程中所有線程的回溯,以便您可以找出工人被困的位置。
我已經經歷過這個,並沒有找到解決方案/根本原因。
我無法干凈地解決這個問題,但想出了一個黑客。
我配置上帝監視我的Sidekiq進程,並在文件更改時重新啟動它們。
然后我設置了一個每5分鍾運行一次的Cron作業,該作業檢查了當前所有Sidekiq工作人員的隊列。 如果某個百分比的工人過去的開工時間<= 5分鍾,則意味着那些工人因某種原因而停工。 如果發生這種情況,我觸摸了一個文件,讓上帝重啟Sidekiq。 對我來說,5分鍾是理想的,但這取決於你的工作通常需要多長時間。
這是解決掛起Sidekiq作業的唯一方法,無需每小時手動檢查一次,並自行重啟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.