Existe um plugin chamado superlance.
Você o instala com pip install superlance ou faz o download em: link
A próxima coisa que você faz é entrar no seu supervisord.conf e adicionar as seguintes linhas:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m [email protected]
events=PROCESS_STATE
Isso deve ser seguido por uma "atualização de supervisorctl". Quando um processo "sair", você receberá uma notificação enviada para [email protected].
Se você quiser apenas ouvir alguns apps selecionados, poderá trocar o -a por um -p program1 ou se for um grupo group1:program2 Um exemplo seria
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2 -m [email protected]
events=PROCESS_STATE
Em relação ao reinício automático:
você deve certificar-se de que autorestart esteja definido como true (ele é definido como unexpected por padrão). Desta forma, o pacote será reiniciado 3 vezes. Se depois disso ainda sair, desiste, mas você pode mudar isso com startretries .
Exemplo de programa:
[program:cat]
command=/bin/cat
autorestart=true
startretries=10