supervisord と crashmail の設定

supervisord と crashmail の設定

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 を取得してそれを強制終了すると、変更されたプロセスの状態に関する電子メールが届きます。

関連情報