Herhangi bir yolu var mı supervisord
otomatik olarak başarısız / çıktıktan / sonlandırılmış işi yeniden başlatabilirsiniz ve günlük dosyasının Son x hatlarının bir dökümü ile bana bir bildirim gönderecektir?
Herhangi bir yolu var mı supervisord
otomatik olarak başarısız / çıktıktan / sonlandırılmış işi yeniden başlatabilirsiniz ve günlük dosyasının Son x hatlarının bir dökümü ile bana bir bildirim gönderecektir?
Yanıtlar:
Süper adında bir eklenti var.
Http://pypi.python.org/pypi/superlance adresinden yükleyin pip install superlance
veya indirin.
Yapacağınız bir sonraki şey, içine gidip supervisord.conf
aşağıdaki satırları eklemeniz:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m email1@example.com
events=PROCESS_STATE
Bunu bir "süpervizör güncellemesi" takip etmelidir. Bir işlem "çıktığında", artık email1@example.com adresine gönderilen bir bildirim alacaksınız.
Yalnızca seçilen bazı uygulamalar dinlemek isterseniz alışverişi yapabilir -a
bir için -p program1
ya da bir grup ise group1:program2
bir örnek olacaktır
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2 -m email1@example.com
events=PROCESS_STATE
Otomatik yeniden başlatmayla ilgili olarak: autorestart
ayarlandığından emin olmalısınız true
( unexpected
varsayılan olarak ayarlanmıştır ). Bu şekilde paket 3 kez yeniden başlatılır. Ondan sonra hala çıkarsa, pes eder, ancak bunu değiştirebilirsiniz startretries
.
Örnek program:
[program:cat]
command=/bin/cat
autorestart=true
startretries=10
Süper yükleme ve bu şekilde crashmail çalıştırmayı denedim:
sudo apt-get install python-pip
sudo pip install superlance
Yaptıktan sonra:
sudo nano /etc/supervisor/supervisord.conf
ve ekledikten sonra:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m mymail@mail.fr
events=PROCESS_STATE
ve hiçbir şey almıyorum ....
Crashmail dosyam:
#!/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())