
Я хочу получать уведомления, когда процесс супервизора меняет состояние. Я думаю, что настроил его правильно, но он не работает: когда я меняю состояние процесса (например, запуск/остановка), я не получаю электронное письмо и не вижу сигнала о неисправности.
Вот конфигурация супервизора:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m [email protected]
events=PROCESS_STATE
статус супервизора говорит мне, что crashmail РАБОТАЕТ:
crashmail RUNNING pid 54227, uptime 0:11:50
other RUNNING pid 54229, uptime 0:11:49
someother RUNNING pid 54267, uptime 0:10:59
В журнале stdout crashmail я нахожу что-то вроде:
READY
RESULT 2
OKREADY
RESULT 2
OKREADY
READY
RESULT 2
OKREADY
READY
READY
и stderr пуст. Я пробовал запускать/останавливать другие процессы, но безрезультатно.
Мне кажется, что supervisord не отправляет события в crashmail... как это проверить?
решение1
Если вы меняете статус процесса через 'supervisorctl stop your_process', crashmail не отправляет вам письмо. Вам следует получить PID your_process и просто завершить его - тогда вы получите письмо об измененном состоянии процесса.