Я использую supervisord для управления несколькими процессами в док-контейнере. Однако один процесс всегда является «главным», а другие контролируют и сообщают о процессах. Что я хочу сделать, так это убить супервизора, если главный процесс не запустится после повторных попыток.
То, что я пытался сделать, это использовать eventlistener, чтобы убить процесс:
[eventlistener:master]
events=PROCESS_STATE_FAIL
command=supervisorctl stop all
Но я не думаю, что подсистема событий настолько сложна. Я думаю, мне нужно написать прослушиватель событий для обработки событий. Это правильно? Есть ли более простой способ убить весь супервизор, если один из процессов сработает?
Спасибо