繁体   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