作业退出时获得主管的通知


Answers:


49

有一个名为superlance的插件。

您可以通过以下方式安装pip install superlance或下载它:http : //pypi.python.org/pypi/superlance

接下来要做的是进入supervisord.conf并添加以下行:

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m email1@example.com
events=PROCESS_STATE

随后应进行“ supervisorctl更新”。当进程“退出”时,您现在将收到通知发送到email1@example.com。

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

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2  -m email1@example.com
events=PROCESS_STATE

关于自动重启:您应该确保将autorestart其设置为trueunexpected默认设置为)。这样,程序包将重新启动3次。如果在那之后它仍然退出,它会放弃,但是您可以使用进行更改startretries

示例程序:

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

尽管已经闲置了几年,但该线程仍然有效-我刚刚与主管3.1.4(CentOS7)一起测试了超级枪支1.0.0(日期为2016年10月),并且崩溃邮件工作得很好。
大卫·拉米雷斯

0

我试着安装superlance并运行崩溃邮件,如下所示:

sudo apt-get install python-pip
sudo pip install superlance

我做完之后:

sudo nano /etc/supervisor/supervisord.conf

在我添加之后:

[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m mymail@mail.fr
events=PROCESS_STATE

而且我什么也没收到。

我的崩溃邮件文件是:

#!/usr/bin/python

-- coding: utf-8 --
import re
import sys

from superlance.crashmail import main

if name == 'main':
sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
sys.exit(main())
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.