का उपयोग कर सुपरलांस में smtp के माध्यम से ईमेल भेजें, crashmail का उपयोग कर प्रक्रिया को supervisord में स्थिति बदलते समय मैं ईमेल भेजने की कोशिश कर रहा हूं। डिफ़ॉल्ट sendmail
प्रोग्राम के साथ कोई भाग्य नहीं है जिसके लिए बहुत सारे सेटअप की आवश्यकता है, मैंने पाइथन में एक छोटी सी स्क्रिप्ट के साथ जाने का फैसला किया जो SMTP का उपयोग करके ईमेल भेजता है।क्रैशमेल
यह पहले राज्य परिवर्तन के लिए बहुत अच्छा काम करता है (मुझे वास्तव में एक ईमेल प्राप्त हुआ है कि प्रक्रिया स्थिति बदलती है) लेकिन बाद में काम करना बंद कर दें। मैंने supervisord
जैसे buffer_size
या autorestart
में विभिन्न विकल्पों को बदलने की कोशिश की है लेकिन इसका कोई प्रभाव नहीं है।
import time
from datetime import datetime
if __name__ == '__main__':
print(">>>>> STARTING ...", flush=True)
while True:
print("sleep now:", datetime.utcnow(), flush=True)
time.sleep(30)
raise Exception("meo meo")
यह स्क्रिप्ट जीमेल के माध्यम से ईमेल भेजता है जो:
यहाँ स्क्रिप्ट मैं supervisord
स्थिति परिवर्तन को गति प्रदान करने के लिए उपयोग है। यह stdin
भेज देगा।
#!/usr/bin/env python
import smtplib
def get_server():
smtpserver = smtplib.SMTP('smtp.gmail.com:587')
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login("[email protected]", "password")
return smtpserver
if __name__ == '__main__':
import sys
data = sys.stdin.read()
s = get_server()
s.sendmail('[email protected]', ['[email protected]'], data)
s.quit()
यहाँ मेरी supervisord.conf
[eventlistener:crashmail]
command=crashmail -a -m [email protected] -s /home/ubuntu/mysendmail.py
events=PROCESS_STATE
buffer_size=102400
autorestart=true
किसी को भी किसी भी विचार क्यों है है? धन्यवाद!
Thats अजीब, किसी भी विचार क्यों यह आवश्यक एक में होना एक अलग फाइल करने के लिए
eventlistener
अनुभाग में ले जाया गया इस तरह की अलग फाइल? मुझे एक बहुत ही समान समाधान को लागू करने की आवश्यकता है, हालांकि मैं शायद रूबी का उपयोग करूंगा – wired00