Есть ли способ supervisord
автоматически перезапустить неудавшуюся / завершившуюся / прерванную работу и отправить мне уведомление по электронной почте с дампом последних x строк файла журнала?
источник
Есть ли способ supervisord
автоматически перезапустить неудавшуюся / завершившуюся / прерванную работу и отправить мне уведомление по электронной почте с дампом последних x строк файла журнала?
Есть плагин под названием superlance.
Вы устанавливаете его pip install superlance
или загружаете по адресу: http://pypi.python.org/pypi/superlance
Следующее, что вы делаете, вы входите в свой supervisord.conf
и добавляете следующие строки:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m email1@example.com
events=PROCESS_STATE
Это должно сопровождаться «обновлением supervisorctl». Когда процесс «завершается», вы теперь получаете уведомление, отправленное на email1@example.com.
Если вы хотите прослушать только некоторые выбранные приложения, вы можете обменять их -a
на a -p program1
или если это группа. group1:program2
Одним из примеров будет
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2 -m email1@example.com
events=PROCESS_STATE
Относительно автоматического перезапуска: вы должны убедиться, что autorestart
он установлен на true
(он установлен unexpected
по умолчанию). Таким образом, пакет будет перезапущен 3 раза. Если после этого он все еще выходит, он сдается, но вы можете изменить это с помощью startretries
.
Пример программы:
[program:cat]
command=/bin/cat
autorestart=true
startretries=10
Я попытался установить superlance и запустить crashmail так:
после того как я сделаю:
и после того, как я добавил:
и я ничего не получаю ....
Мой файл аварийной почты:
источник