¿Cómo puedo comprobar constantemente que un script de Python se esté ejecutando las 24 horas del día, los 7 días de la semana y que no esté inactivo?

¿Cómo puedo comprobar constantemente que un script de Python se esté ejecutando las 24 horas del día, los 7 días de la semana y que no esté inactivo?

Tengo un script de Python que debe ejecutarse las 24 horas del día, los 7 días de la semana en un servidor Linux. ¿Cuál es una forma inteligente de asegurarse de que esté activo?

Me sugirieron que usara cron y el segundo script que verifica el primero de alguna manera.

Respuesta1

yo suelosupervisorPara hacer eso. Cron está bien para iniciarlo una vez y mantenerlo ejecutándose (use @reboot), pero necesita algo un poco menos básico para vigilar las cosas.

Mis archivos de configuración son por aplicación (y en ubuntu algo como /etc/supervisord/conf.d/foo.conf)

Este es mi archivo de script de actualización ttrss pero es un buen punto 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

Linea por linea,

La primera línea es el comando que quiero ejecutar (coloque aquí el comando que desea ejecutar).
La segunda es el directorio en el que se encuentra (lo que lo hace más ordenado, en mi caso se ejecuta dentro de la raíz de mi servidor web).
Se iniciará automáticamente y lo intentará 5 veces. .
Quiero el resultado en caso de que algo salga mal, así que configuro un archivo para stderr_logfile (esto es opcional) y configuro el usuario con el que quiero ejecutar la tarea. Necesito lograrlotar pero se me sigue olvidando ;p

Puedes modificar esto al gusto según eldocumentos

información relacionada