ジョブが終了したときに監督者から通知を受け取る


回答:


49

superlanceと呼ばれるプラグインがあります。

http://pypi.python.org/pypi/superlancepip install superlanceでインストールまたはダウンロードします。

次に行うことはsupervisord.conf、次の行を追加して追加することです。

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

これに続いて、「supervisorctl update」が必要です。プロセスが「終了」すると、email1 @ example.comに通知が送信されます。

いくつかの選択したアプリだけを聴きたい場合は、に交換-aする-p program1か、グループでgroup1:program2ある場合は1つの例です

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

自動再起動に関して:autorestartが設定されていることを確認する必要があります(デフォルトでtrue設定さunexpectedれています)。これにより、パッケージが3回再起動されます。その後も終了する場合はあきらめますが、で変更できますstartretries

サンプルプログラム:

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

数年間非アクティブでしたが、このスレッドはまだ有効です-スーパーランス1.0.0(2016年10月日付)をスーパーバイザー3.1.4(CentOS7)でテストしたところ、クラッシュメールは正常に機能しました。
デビッドラミレス

0

スーパーランスをインストールして、次のようにcrashmailを実行してみました。

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

そして、私は何も受け取りません....

私のcrashmailファイルは次のとおりです。

#!/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())
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.