我们有一个在乘客上运行的rails应用程序,我们使用RabbitMQ和Workling的组合处理一些任务。使用script/workling_client
命令启动workling的工作进程。始终只有一个工作进程启动,script/workling_client
有:multiple => false
个选项,因此只允许一个实例。但有时候,在我无法追查的神秘环境中,会产生更多的工作。如果我让系统运行一段时间,会出现越来越多的工作。我不确定这些流氓工作是否会引起任何问题,但仍然不知道为什么会发生这种问题。我们使用Monit来监控工作过程。所以,如果它死了,它会再次产生它。但是,这仍然没有解释为什么突然间不止一个。
所以我的问题是:有谁知道这可能是什么原因以及如何让它停止?是否有可能工作有时会自行死亡而不删除它的pid文件?守护进程gem workling_client
是否会出现问题?
答案 0 :(得分:0)
不是答案 - 我在运行RabbitMQ + Workling时遇到同样的问题 我也在使用上帝来监控单个工作过程(:multiple => false)...... 我发现多个工作人员正在吃掉大量的记忆。导致严重的资源使用,因此我找到解决方案非常重要。