Как автоматически перезапустить завершенный процесс со статусом выхода 0 в супервизоре?
Я выполняю сценарий PHP с супервизором. Иногда один из моих процессов останавливается с журналом ошибок:
INFO exited: worker_push_notif (exit status 0; expected).
Я уже установил в конфиге autorestart=true
но все же, я должен перезапустить его вручную. Ниже мой полный конфиг:
[program:worker_push_notif]
directory = /opt/initproject/workers
command = /usr/bin/php /opt/initproject/workers/fcm_pushnotif.php
autostart=true
autorestart=true
startretries=3
stdout_logfile = /var/log/initproject/pushnotif.log
stderr_logfile = /var/log/initproject/pushnotif.err
Нужна помощь, чтобы справиться autorestart
для статуса выхода 0
, Спасибо.
Примечание: Ubuntu 14.04, Supervisord 3.0
1 ответ
При решении той же проблемы я создал простой сценарий запуска, который вернул 1. Я вызвал сценарий запуска вместо непосредственного вызова исходного сценария. Этого было достаточно, чтобы обмануть руководителя. Я предполагаю, что есть более чистый способ, но не смог найти его в документации.
#!/bin/bash
/path/to/your/script
exit 1