Supervisor и лишние демоны

Говорим о серверах, развёртывании, нагрузках, выборе и использовании разных технологий и продуктов
Закрыто
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Supervisor и лишние демоны

Сообщение Chelobaka »

Здравствуйте,
Для работы с очередями на Yii2 использую библиотеку "yiisoft/yii2-queue": "0.12.2", (ограничения из-за версии php, 7.1)
Для запуска слушателя использую Supervisor.
Проблема в том что если остановить все задачи в Supervisor командой supervisorctl stop all, в списке процессов (htop, ps -aux) остаются порядка 7 слушателей 1 очереди. У меня 4 очереди, то есть 28 лишних слушателей, как следствие постоянные делоки mysql в логах.
Попытки удалить лишние процессы через команды типа kill $(ps aux | grep '/var/www/site.com/yii queue-event/listen' | awk '{print $2}') не работают, все процессы восстанавливаются (даже если остановить service supervisor stop).
Как оказалось, Supervisor ничего не будет знать о процессах созданных в запущенных им процессах. Как мне кажется мои 28 слушаетелей это тот случай. Когда Supervisor упал, а процессы остались, позже он запускает новый и так где-то 7 раз.


Как удалить эти процессы?
Как недопустить их появления?
Как узнать когда очередь упала средствами yii2?

Код: Выделить всё

[program:site_queue_email]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/site.com/yii queue-email/listen
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/site.com/log/site_queue_email.log
Аватара пользователя
Chelobaka
Сообщения: 214
Зарегистрирован: 2018.06.01, 09:54

Re: Supervisor и лишние демоны

Сообщение Chelobaka »

Почему не удалялись процессы и восстанавливались? Это делал supervisord. Служба была остановлена но команда ps aux | grep supervisor показывала еще несколько процессов. Убил процессы supervisord, убил все запущенные очереди, перезапустил супервизор. Все работает как надо.
Закрыто