Я использую uWSGI и nginx для запуска двух приложений Parallell Django. Один из них, один с большей нагрузкой (оба очень маленькие), умирает примерно раз в 24 часа со следующим сообщением:
[pid: 16358|app: 0|req: 1000/1000] 127.0.0.1 () {46 vars in 847 bytes} [Thu Mar 24 16:38:31 2011] GET /aktivitet/409/picknick/ => generated 18404 bytes in 117 msecs (HTTP/1.0 200) 3 headers in 156 bytes (1 switches on core 0)
<strong>...The work of process 16358 is done. Seeya!</strong>
Я запускаю процессы, используя Supervisor со следующей конфигурацией:
[program:uttrakad]
command=/home/myuser/webapps/uwsgi_test/bin/uwsgi
-s /home/myuser/webapps/uwsgi_test/app1.sock
-C /home/myuser/webapps/django/app1.wsgi
--processes 1
--harakiri 120
--max-requests 1000
autostart=true
autorestart=true
stdout_logfile=/home/myuser/logs/user/uwsgi_app1.log
redirect_stderr=true
stopsignal=QUIT
Файл .wsgi прост:
import os
import sys
sys.path =['/home/openworks/webapps/django/lib/python2.6/','/home/openworks/webapps/django/','/home/openworks/webapps/django/app1/'] + sys.path
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'app1.prod_settings'
application = WSGIHandler()
nginx настроен с 2 рабочими процессами, 2048 worker_connections и вот так:
location / {
uwsgi_pass unix:///home/openworks/webapps/uwsgi_test/app1.sock;
include uwsgi_params;
}
Как я уже сказал, есть еще одно приложение, настроенное точно таким же образом, которое работает без прерываний, но почти не имеет трафика.
Есть какие-нибудь подсказки? Почему я получаю сообщение " ... Работа процесса 16358 завершена. Seeya " сообщение?
Спасибо