Я пытаюсь запустить следующий код Python с помощью supervisord, но он начинает перезапускаться, как только я запускаю supervisord -c /etc/supervisord.conf
Пожалуйста, посоветуйте?
import urllib2
import time
def goget():
url = "http://hitch.tv/grabs.php"
data = urllib2.urlopen(url)
grabbedpic = data.read()
with open('/root/python/tmp.txt', 'r') as tmpfile:
last=tmpfile.read().replace('\n','')
msgstr = []
u = 'http://hitch.tv/'
print last
if grabbedpic == last:
print "same pic"
else:
msgstr = u + grabbedpic
//send email with msgstr here
with open('tmp.txt', 'w') as tmpfile:
tmpfile.write(grabbedpic)
time.sleep(15)
while True:
goget()
вот вывод журнала из supervisord.log
> 2014-02-19 22:44:17,993 INFO spawned: 'front' with pid 19859
> 2014-02-19 22:44:19,278 INFO exited: front (exit status 1; not
> expected) 2014-02-19 22:44:20,284 INFO spawned: 'front' with pid 19860
> 2014-02-19 22:44:21,516 INFO exited: front (exit status 1; not
> expected) 2014-02-19 22:44:23,523 INFO spawned: 'front' with pid 19862
> 2014-02-19 22:44:24,805 INFO exited: front (exit status 1; not
> expected) 2014-02-19 22:44:27,814 INFO spawned: 'front' with pid 19863
> 2014-02-19 22:44:29,004 INFO exited: front (exit status 1; not
> expected) 2014-02-19 22:44:30,006 INFO gave up: front entered FATAL
> state, too many start retries too quickly
из supervisord.conf
[program:front]
command=python /root/python/front.py
process_name = front
autostart = true
autorestart = true
startsecs = 10
stopwaitsecs = 30
/var/log/messages
? Если вы нигде не можете его найти, вам следует перехватить исключение самостоятельно и зарегистрировать его там, где вы можете его найти. - person SingleNegationElimination   schedule 20.02.2014stderr_logfile
илиredirect_stderr
с текущимstdout_logfile
. Также, вероятно, не лучшая идея помещать ведение журнала в/etc
; как насчет/var/log
? - person SingleNegationElimination   schedule 21.02.2014