Como posso verificar constantemente se um script python está sendo executado 24 horas por dia, 7 dias por semana e não está inativo?

Como posso verificar constantemente se um script python está sendo executado 24 horas por dia, 7 dias por semana e não está inativo?

Eu tenho um script python que deve ser executado 24 horas por dia, 7 dias por semana em um servidor Linux. Qual é uma maneira inteligente de garantir que tudo esteja funcionando?

Eles me sugeriram usar o cron e o segundo outro script que verifica o primeiro de alguma forma.

Responder1

eu usosupervisorfazer isso. Cron pode iniciá-lo uma vez e mantê-lo funcionando (use @reboot), mas você precisa de algo um pouco menos básico para ficar de olho nas coisas.

Meus arquivos de configuração são por aplicativo (e no Ubuntu algo como /etc/supervisord/conf.d/foo.conf)

Este é o meu arquivo de script de atualização ttrss, mas é um bom ponto de partida.

command=php ./update_daemon2.php
directory=/var/www/lupinenet/ttrss
autostart=true
startretries=5
stderr_logfile=/var/log/supervisor/ttrss/ttrss.err.log
user=www-data

Linha por linha,

a primeira linha é o comando que desejo executar (coloque o comando que deseja executar aqui)
A segunda é o diretório em que está (o que o torna mais organizado, no meu caso está sendo executado dentro da raiz do meu servidor web)
Ele iniciará automaticamente e tentará 5 vezes .
Quero a saída caso algo dê errado, então defino um arquivo para stderr_logfile - isso é opcional e defino o usuário com o qual desejo executar a tarefa. Preciso fazer o logrotate, mas continuo esquecendo ;p

Você pode ajustar isso a gosto de acordo com odocumentos

informação relacionada