我希望在 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 的标准输出日志中我发现类似这样的内容:
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 并将其终止 - 然后您将收到有关更改的进程状态的电子邮件。