Wie kann ich ständig überprüfen, ob ein Python-Skript rund um die Uhr ausgeführt wird und nicht ausfällt?

Wie kann ich ständig überprüfen, ob ein Python-Skript rund um die Uhr ausgeführt wird und nicht ausfällt?

Ich habe ein Python-Skript, das rund um die Uhr auf einem Linux-Server laufen muss. Wie kann ich sicherstellen, dass es aktiv ist?

Sie schlugen mir vor, cron und anschließend ein anderes Skript zu verwenden, das das erste irgendwie überprüft.

Antwort1

ich benutzebeaufsichtigtum das zu tun. Cron ist gut, um es einmal zu starten und am Laufen zu halten (verwenden Sie @reboot), aber Sie brauchen etwas weniger Grundlegendes, um die Dinge im Auge zu behalten.

Meine Konfigurationsdateien sind pro Anwendung (und in Ubuntu so etwas wie /etc/supervisord/conf.d/foo.conf)

Dies ist meine TTRSS-Update-Skriptdatei, aber es ist ein guter Ausgangspunkt.

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

Zeile für Zeile,

Die erste Zeile ist der Befehl, den ich ausführen möchte (fügen Sie den Befehl, den Sie ausführen möchten, hier ein).
Die zweite ist das Verzeichnis, in dem es sich befindet (das macht es übersichtlicher, in meinem Fall läuft es im Stammverzeichnis meines Webservers).
Es wird automatisch gestartet und versucht es fünfmal.
Ich möchte die Ausgabe, falls etwas schief geht, also lege ich eine Datei für stderr_logfile an – dies ist optional und lege den Benutzer fest, als den ich die Aufgabe ausführen möchte. Ich muss das logrotieren, aber ich vergesse es ständig ;p

Sie können dies nach Geschmack anpassen, je nachDokumente

verwandte Informationen