簡體   English   中英

長期運行的Sidekiq工作一直在瀕臨死亡

[英]Long-running Sidekiq jobs keep dying

我正在使用sidekiq gem來處理Rails中的后台作業。 出於某種原因,這項工作在一段時間后就會停止 - 這個過程要么變得反應遲鈍,要么出現在top但沒有多少,或者神秘地消失,沒有錯誤(沒有向airbrake.io報告)。

有沒有人有這方面的經驗?

使用TTIN信號獲取流程中所有線程的回溯,以便您可以找出工人被困的位置。

https://github.com/mperham/sidekiq/wiki/Signals

我已經經歷過這個,並沒有找到解決方案/根本原因。

我無法干凈地解決這個問題,但想出了一個黑客。

我配置上帝監視我的Sidekiq進程,並在文件更改時重新啟動它們。

然后我設置了一個每5分鍾運行一次的Cron作業,該作業檢查了當前所有Sidekiq工作人員的隊列。 如果某個百分比的工人過去的開工時間<= 5分鍾,則意味着那些工人因某種原因而停工。 如果發生這種情況,我觸摸了一個文件,讓上帝重啟Sidekiq。 對我來說,5分鍾是理想的,但這取決於你的工作通常需要多長時間。

這是解決掛起Sidekiq作業的唯一方法,無需每小時手動檢查一次,並自行重啟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM