簡體   English   中英

Resque:工人狀態不對

[英]Resque: worker status is not right

Resque 目前正在向我展示我有一個工人在處理隊列。 該工作人員在隊列中間被我關閉(僅用於測試)並且工作人員仍顯示為正在運行。 我已經確認進程 ID 已被殺死並且 bluepill 不再監視它。 我無法在 UI 中找到任何方式來強制清除它正在工作。

更新當前工作的工作人員數量的最佳方式是什么(我有 2 個,Web UI 報告 3 個)。

您可能有一個揮之不去的 pid 文件。 該文件獨立於正在運行的進程; 換句話說,當你終止進程時,它並沒有刪除 pid 文件。

如果您使用典型的 Rails 和 Resque 設置,Resque 會將 pid 存儲在 Rails 的 ./tmp 目錄中。

一些 Resque 啟動腳本在不同的位置指定 pid 文件,如下所示:

PIDFILE=foo/bar/resque/pid bundle exec rake resque:work 

無論腳本將 pid 文件放在哪里,請查看那里,然后將其刪除,然后重新啟動。

同樣在命令行上,您可以向 redis 詢問正在運行的工作人員:

redis-cli keys *worker:*

如果有您不期望的工作人員,您可以使用以下命令刪除它們:

redis-cli del <keyname>

嘗試重新啟動應用程序。

供將來參考:也可以查看https://github.com/resque/resque/issues/299

暫無
暫無

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

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