작업 종료시 감독자에게 알림 받기


36

어떤 방법이 supervisord자동으로 실패 종료 / / 종료 작업을 다시 시작할 수 로그 파일의 마지막 X 라인의 덤프 나에게 알림 이메일을 보내는?

답변:


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 업데이트"가 와야합니다. 프로세스가 "종료"되면 이제 email1@example.com으로 알림이 전송됩니다.

선택한 일부 앱만 듣고 싶으면 -aa를 교환 -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

몇 년 동안 비활성 상태 였음에도 불구하고이 스레드는 여전히 유효합니다. 저는 감독자 3.1.4 (CentOS7)로 superlance 1.0.0 (2016 년 10 월 날짜)을 테스트했으며 크래쉬 메일은 제대로 작동했습니다.
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

나는 아무것도받지 못한다 ....

내 크래시 메일 파일은 다음과 같습니다.

#!/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.