Supervisorctl не выполняет автоматический перезапуск работника очереди демона при зависании

У меня есть supervisorctl, управляющий некоторыми работниками очереди демонов с этой конфигурацией:

[program:jobdownloader]
process_name=%(program_name)s_%(process_num)03d
command=php /var/www/microservices/ppsatoms/artisan queue:work ppsjobdownloader --daemon --sleep=0
autostart=true
autorestart=true
user=root
numprocs=50
redirect_stderr=true
stdout_logfile=/mnt/@@sync/jobdownloader.log

Иногда некоторые рабочие процессы похожи на зависания (работают, но перестают получать сообщения очереди), и supervisorctl не перезапускает их автоматически, поэтому мне приходится отслеживать и перезапускать их вручную.

Что-то не так с конфигурацией? Что я могу сделать, чтобы этого не случилось в будущем?


person 130nrd    schedule 24.09.2015    source источник


Ответы (1)


Обновлять :

Запустите процесс как обычный процесс (не демон), чтобы supervisorctl мог перезапустить рабочих после того, как они сообщат код выхода:

[program:jobdownloader]
process_name=%(program_name)s_%(process_num)03d
command=php /var/www/microservices/ppsatoms/artisan queue:work ppsjobdownloader --sleep=0
autostart=true
autorestart=true
user=root
numprocs=50
redirect_stderr=true
stdout_logfile=/mnt/@@sync/jobdownloader.log
person 130nrd    schedule 29.09.2015
comment
Только обратите внимание: демоны намного эффективнее используют ресурсы ЦП. - person Boomer Rogers; 10.06.2016