Django, uWSGI & nginx: Process dies for "no reason"
Question: I am using uWSGI and nginx to run two parallell Django apps. One of them, the
one with somewhat more load (both are very small) keeps dying about once every
24 hours with the following message:

`[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)
**...The work of process 16358 is done. Seeya!**`

I am launching the processess using Supervisor with the following config:

`[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`

The .wsgi file is simple:

` 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 is set up with 2 worker processes, 2048 worker_connections and like
this: ` location / { uwsgi_pass
unix:///home/openworks/webapps/uwsgi_test/app1.sock; include uwsgi_params; } `

As I said, there is one more app configured the exact same way that has been
running without interuption, but is almost has no traffic.

Any clues? Why do I get the "_...The work of process 16358 is done. Seeya_ "
messsage?

Thanks


Answer: Look at the log: req: 1000/1000

And you have set 1000 as the number of maxium requests.

You should always add --master/-M on uwsgi even under supervisord, this will
allow to restart apps without losing the socket (and without spitting out an
error to clients during restart).

