如何不斷檢查 python 腳本是否全天候 (24/7) 運行並且沒有停機?

如何不斷檢查 python 腳本是否全天候 (24/7) 運行並且沒有停機?

我有一個 python 腳本,它必須在 Linux 伺服器上 24/7 運行。確保其正常運作的明智方法是什麼?

他們建議我使用 cron 和第二個腳本,以某種方式檢查第一個腳本。

答案1

我用監督者要做到這一點。 Cron 可以啟動一次並保持其運行(使用 @reboot),但是您需要一些不太基本的東西來監視事物。

我的設定檔是針對每個應用程式的(在 ubuntu 中類似於 /etc/supervisord/conf.d/foo.conf)

這是我的 ttrss 更新腳本文件,但它是一個很好的起點。

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

逐行,

第一行是我要運行的命令(將要運行的命令放在這裡)
第二行是它所在的目錄(這使它更整潔,在我的例子中它在我的 Web 伺服器根目錄中運行)
它會自動啟動並嘗試5 次。
我想要輸出以防出現問題,因此我為 stderr_logfile 設定了一個檔案 - 這是可選的,並設定我想要執行任務的使用者。我需要對此進行日誌旋轉,但我總是忘記;p

你可以根據口味調整這個文件

相關內容