我有一個在supervisor下運行的python腳本。如何重新啓動腳本,如果它停止工作,但仍然顯示爲在監督員下運行
我選擇了主管事業就會自動啓動腳本時,機器啓動起來,當腳本所謂的「死」
它的作用是執行後running.log
每3-6秒它會不斷寫入日誌文件一些行動。
如果有例外,它將寫入異常到一個單獨的日誌文件。
腳本停止,儘管在此期間沒有異常後5小時寫running.log
。
它仍顯示爲下運行主管和有在它理應停止寫入running.log
的時候也不例外。
然而,它停止了成功,儘管這樣做5個小時寫running.log
腳本。
我然後再手動重新啓動下監督員的服務。
我有什麼選擇?
首先想到的是:腳本中存在一些錯誤。你應該解決這個問題,確保腳本死亡......或者另一種選擇是將一些「看門狗」機制放在其中(儘管我不會建議這樣做)。 – MariusSiuram
我不確定如何複製此錯誤,因爲我可以在檢測到此站點前數小時。我可以編寫一個腳本,基本上每30秒檢查一次'running.log'的大小,如果它無法更改,那麼腳本會告訴主管重新啓動服務? –
這將是一個監督機制。請注意,該錯誤仍然存在,我建議(首先)嘗試調試它 - 例如,一旦失敗就將調試器附加到正在運行的進程。 – MariusSiuram