当工作退出时,从supervisord获取通知

有什么办法supervisord可以自动重新启动一个失败/退出/终止的作业, 发送一个通知电子邮件与日志文件的最后x行转储?

    有一个名为superlance的插件。

    您可以使用pip install superlance安装它,或者从http://pypi.python.org/pypi/superlance下载它

    接下来你要做的就是进入你的supervisord.conf并添加下面几行代码:

     [eventlistener:crashmail] command=/usr/local/bin/crashmail -a -m [email protected] events=PROCESS_STATE 

    这应该跟着一个“supervisorctl更新”。 当一个进程“退出”,你现在将得到一个通知发送到[email protected]

    如果你只想听一些select的应用程序,你可以交换-a-p program1或者如果它是一个组group1:program2一个例子是

     [eventlistener:crashmail] command=/usr/local/bin/crashmail -p program1 -p group1:program2 -m [email protected] events=PROCESS_STATE 

    关于自动重启:你应该确保autorestart设置为true (默认设置为unexpected )。 这样包将被重新启动3次。 如果在此之后它仍然退出,它会放弃,但你可以用startretries来改变它。

    示例程序:

     [program:cat] command=/bin/cat autorestart=true startretries=10