
supervisord プロセスの状態が変わったときに通知を受け取りたいです。正しく設定したと思いますが、動作しません。プロセスのステータス (開始/停止など) を変更しても、電子メールは受信されず、誤動作の信号も表示されません。
スーパーバイザーの構成は次のとおりです。
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m [email protected]
events=PROCESS_STATE
スーパーバイザーのステータスを見ると、crashmail が実行中であることが分かります。
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 の stdout ログに次のような内容が見つかりました:
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 を取得してそれを強制終了すると、変更されたプロセスの状態に関する電子メールが届きます。