Как убрать застрявших / несвежих работников Resque? - PullRequest
130 голосов
/ 14 сентября 2011

Как видно из прикрепленного изображения, у меня есть пара рабочих, которые, похоже, застряли.Эти процессы не должны занимать больше пары секунд.

enter image description here

Я не уверен, почему они не будут удалены или как их удалить вручную.

Я на Heroku, использую Resque с Redis-to-Go и HireFire для автоматического масштабирования рабочих.

Ответы [ 15 ]

0 голосов
/ 02 августа 2018

Вы также можете использовать следующую команду, чтобы остановить все rescue работник

sudo kill -9  `ps aux | grep resque | grep -v grep | cut -c 10-16`

ссылка по этой ссылке

0 голосов
/ 31 августа 2016

Это позволяет избежать проблемы, если у вас есть версия Resque, более новая, чем 1.26.0:

resque: env QUEUE=foo TERM_CHILD=1 bundle exec rake resque:work

Имейте в виду, что это не позволяет текущему заданию завершиться.

0 голосов
/ 18 мая 2015

Если вы используете более новые версии Resque, вам нужно будет использовать следующую команду, поскольку внутренние API изменились ...

Resque::WorkerRegistry.working.each {|work| Resque::WorkerRegistry.remove(work.id)}
0 голосов
/ 27 сентября 2013

Я вычистил их из redis-cli напрямую.К счастью, redistogo.com позволяет получить доступ из среды вне герои.Получить идентификатор мертвого работника из списка.У меня было

55ba6f3b-9287-4f81-987a-4e8ae7f51210:2

Запустите эту команду непосредственно в Redis.

del "resque:worker:55ba6f3b-9287-4f81-987a-4e8ae7f51210:2:*"

Вы можете отслеживать redis db, чтобы увидеть, что он делает за кулисами.Вторая последняя строка удаляет работника.

0 голосов
/ 06 июня 2013

У меня здесь тоже застряли / устали работники рескейпа, или я должен сказать «работа», потому что работник на самом деле все еще там и работает нормально, это застрявший процесс.решение убить разветвленный процесс "Обработка", так как более 5 минут, через скрипт bash, затем работник просто порождает следующее в очереди, и все продолжает идти

, посмотрите мой сценарий здесь: https://gist.github.com/jobwat/5712437

...