รับการแจ้งเตือนจากหัวหน้างานเมื่อออกจากงาน


36

มีวิธีใดบ้างที่supervisordสามารถรีสตาร์ทงานที่ล้มเหลว / ออก / สิ้นสุดโดยอัตโนมัติและส่งอีเมลแจ้งเตือนพร้อมกับดัมพ์ของไฟล์บันทึกการทำงาน x บรรทัดสุดท้าย?

คำตอบ:


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มีการตั้งค่าเป็นtrue(มันถูกตั้งค่าเป็นค่าunexpectedเริ่มต้น) วิธีนี้แพคเกจจะเริ่มใหม่ 3 ครั้ง ถ้าหลังจากนั้นก็ยังคงออกก็ให้ขึ้น startretriesแต่คุณสามารถเปลี่ยนที่กับ

โปรแกรมตัวอย่าง:

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

แม้จะไม่ได้ใช้งานมาสองสามปี แต่เธรดนี้ก็ยังใช้งานได้ - ฉันเพิ่งทดสอบ superlance 1.0.0 (ลงวันที่ตุลาคม 2559) กับหัวหน้างาน 3.1.4 (CentOS7) และ crashmail ทำงานได้ดี
David Ramirez

0

ฉันพยายามติดตั้ง superlance และใช้ 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.