2012-05-19 1 views
3

Я пытаюсь настроить twistd демон на dotcloud:dotcloud supervisord twistd выхода рано

Мой supervisord.conf файл:

[program:apnsd] 
command=/home/dotcloud/env/bin/twistd --logfile /var/log/supervisor/apnsd.log apnsd -c gp_config.py 
directory=/home/dotcloud/current/apnsd 

Однако, похоже, что команда 'выходит рано', который затем предлагает Supervisor попробовать и перезапустить, что затем не удается, потому что twistd dameon работает в фоновом режиме.

Из журнала supervisord:

more supervisord.log 
2012-05-19 03:07:52,723 CRIT Set uid to user 1000 
2012-05-19 03:07:52,723 WARN Included extra file "/etc/supervisor/conf.d/uwsgi.c 
onf" during parsing 
2012-05-19 03:07:52,723 WARN Included extra file "/home/dotcloud/current/supervi 
sord.conf" during parsing 
2012-05-19 03:07:52,922 INFO RPC interface 'supervisor' initialized 
2012-05-19 03:07:52,922 WARN cElementTree not installed, using slower XML parser 
for XML-RPC 
2012-05-19 03:07:52,923 CRIT Server 'unix_http_server' running without any HTTP 
authentication checking 
2012-05-19 03:07:52,932 INFO daemonizing the supervisord process 
2012-05-19 03:07:52,934 INFO supervisord started with pid 144 
2012-05-19 03:07:53,941 INFO spawned: 'apnsd' with pid 147 
2012-05-19 03:07:53,949 INFO spawned: 'uwsgi' with pid 149 
2012-05-19 03:07:54,706 INFO exited: apnsd (exit status 0; not expected) 
2012-05-19 03:07:55,712 INFO spawned: 'apnsd' with pid 175 
2012-05-19 03:07:55,712 INFO success: uwsgi entered RUNNING state, process has s 
tayed up for > than 1 seconds (startsecs) 
2012-05-19 03:07:56,261 INFO exited: apnsd (exit status 1; not expected) 
2012-05-19 03:07:58,267 INFO spawned: 'apnsd' with pid 176 
2012-05-19 03:07:58,783 INFO exited: apnsd (exit status 1; not expected) 
2012-05-19 03:08:01,790 INFO spawned: 'apnsd' with pid 177 
2012-05-19 03:08:02,840 INFO success: apnsd entered RUNNING state, process has s 
tayed up for > than 1 seconds (startsecs) 

Из журнала apnsd:

[email protected]:/var/log/supervisor$ more apnsd-stderr---supervisor 
-m7GnKV.log 
INFO:root:Reactor Type: <twisted.internet.pollreactor.PollReactor object at 0x10 
a09d0> 
DEBUG:root:Creating listener: apnsd.listeners.line.LineProtocolFactory 
INFO:root:Listening on Line Protocol on :1055 
DEBUG:root:Listener Created: <apnsd.listeners.line.LineProtocolFactory instance 
at 0x12fc8c0> 
DEBUG:root:Creating App Factory: apnsd.daemon.APNSFactory 
INFO:root:Connecting to APNS Server, App: apns_dev:AAA.com.company.www 
INFO:root:apns_dev:AAA.com.company.www -> Started connecting to APNS con 
nector... 
INFO:root:Registering Application: apns_dev:GoParcel... 
DEBUG:root:Creating App Factory: apnsd.daemon.APNSFactory 
INFO:root:Connecting to APNS Server, App: apns_dev:T365ED94A9.com.appitems.parce 
ls 
INFO:root:apns_dev:T365ED94A9.com.appitems.parcels -> Started connecting to APNS 
connector... 
INFO:root:Registering Application: apns_dev:GoParcelVictor... 
Another twistd server is running, PID 172 

This could either be a previously started instance of your application or a 
different application entirely. To start a new one, either run it in some other 
directory, or use the --pidfile and --logfile parameters to avoid clashes. 

Another twistd server is running, PID 172 
--More--(42%) 

Статус работника не удалось:

./dotcloud run hack.worker supervisorctl status 
USER PATH IS: C:\Users\Taras/.dotcloud\dotcloud.conf 
# supervisorctl status 
apnsd       FATAL  Exited too quickly (process log may 
have details) 

Но процесс twistd есть (пс - ef):

dotcloud 171  1 0 03:13 ?  00:00:00 /home/dotcloud/env/bin/python /home/dotcloud/env/bin/twistd --logfile /var/log/supervisor/apnsd.log apnsd -c gp_config.py 

У меня возникла аналогичная проблема при попытке запустить процесс через скрипт-оболочку (и с помощью exec, чтобы дочерний процесс не был создан). Что я делаю не так?

ответ

5

Супервизор ожидает, что контролируемый процесс останется на переднем плане, но twistd вилки на фоне по умолчанию. Поэтому супервайзер считает, что он вышел, и пытается начать его снова.

Вы должны начать twistd с опцией --nodaemon: twistd останется на переднем плане, а Супервизор будет счастлив!

+0

Вот и все .. по какой-то причине я думал, что использование exec предотвратит это, но в ретроспективе это не имеет никакого смысла. – Taras

 Смежные вопросы

  • Нет связанных вопросов^_^