从 Ruby 中杀死 Resque 工人

问题描述

我正在使用以下命令从我的 CLI 启动 2 个 Resque 后台工作人员。

COUNT=2 QUEUE=* rake resque:workers RAILS_ENV=production &

当我从 git 向服务器拉取代码更新时,我必须杀死后台工作人员并重新运行命令。我通常做这样的事情:

ps -u myuser # this shows me the process I started originally with the ids
kill -9 12345
kill -9 23456

有没有办法从 Resque gem 中杀死这些后台工作人员?我想在 Ruby 中创建一个 rake 任务或一个模块,以允许我杀死并重新启动这些工作人员。

解决方法

您可以执行类似 pkill -9 -f resque* 的操作来杀死 -9 名称与 resque 匹配的所有进程*