
我希望在主管進程更改狀態時收到通知。我認為我已經正確配置了它,但它不起作用:當我更改進程的狀態(即啟動/停止)時,我沒有收到電子郵件,也沒有看到故障信號。
這是主管配置:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m [email protected]
events=PROCESS_STATE
主管狀態告訴我崩潰郵件正在運作:
crashmail RUNNING pid 54227, uptime 0:11:50
other RUNNING pid 54229, uptime 0:11:49
someother RUNNING pid 54267, uptime 0:10:59
在 crashmail 的標準輸出日誌中,我發現類似以下內容:
READY
RESULT 2
OKREADY
RESULT 2
OKREADY
READY
RESULT 2
OKREADY
READY
READY
並且 stderr 為空。我嘗試啟動/停止其他進程,但沒有任何結果。
在我看來,supervisord 沒有將事件發送到 crashmail...我該如何檢查?
答案1
如果您透過「supervisorctl stop your_process」變更進程狀態,crashmail 不會向您發送電子郵件。您應該獲取 your_process 的 PID 並殺死它 - 然後您將收到有關更改的進程狀態的電子郵件。