我们有一个在乘客上运行的 rails 应用程序,我们使用 RabbitMQ 和 Workling 的组合在后台处理一些任务。使用该script/workling_client
命令启动 workling 的工作进程。总是只有一个工作进程启动,并且script/workling_client
有一个:multiple => false
选项,因此只允许一个实例。但有时,在我无法追踪的神秘情况下,会产生更多的工作人员。如果我让系统运行一段时间,就会出现越来越多的工作。我不确定这些流氓工作是否会导致任何问题,但不知道为什么会发生仍然令人不安。我们正在使用 Monit 来监控工作过程。所以如果它死了,它会再次产生它。但这仍然不能解释为什么突然多了一个。
所以我的问题是:有谁知道这可能是什么原因以及如何让它停止?是否有可能工作有时会自行死亡,而不删除它的 pid 文件?workling_client
构建Daemons gem 会不会有什么问题?