Происшествия

Мы используем Django + Gunicorn + Nginx на нашем сервере. Проблема в том, что через некоторое время мы видим много рабочих-оружейников, которые стали сиротами, и многие другие, которые стали зомби. Также мы видим, что некоторые из рабочих рабочих Гуникорн порождают некоторых других работников Gunicorn. Наше лучшее предположение заключается в том, что эти рабочие становятся сиротами после того, как их родительские работники умерли. Почему рабочие Gunicorn порождают детей-работников? Почему они умирают?! И как мы можем предотвратить это?
Я также должен упомянуть, что мы установили уровень журнала Gunicorn на debug, и все же мы не видим ничего значимого, кроме журнала периодического журнала числа работников, который сообщает о количестве желаемых рабочих.

UPDATE Это линия, которую мы использовали для запуска стрельбы:

gunicorn --env DJANGO_SETTINGS_MODULE=proj.settings proj.wsgi --name proj --workers 10 --user proj --group proj --bind 127.0.0.1:7003 --log-level=debug --pid gunicorn.pid --timeout 600 --access-logfile /home/proj/access.log --error-logfile /home/proj/error.log

Ответ 1

В моем случае я развертываю серверы Ubuntu (выпуски LTS, теперь почти 14.04 LTS-серверов), и у меня никогда не было проблем с демонами gunicorn, я создаю gunicorn.conf.py и запускаю gunicorn с этой конфигурацией от выскочки с помощью script как в /etc/init/djangoapp.conf

description "djangoapp website"
start on startup
stop on shutdown
respawn
respawn limit 10 5

script
  cd /home/web/djangoapp
  exec /home/web/djangoapp/bin/gunicorn -c gunicorn.conf.py -u web -g web djangoapp.wsgi
end script

Я настраиваю gunicorn с конфигурацией файла .py и устанавливаю некоторые параметры (подробнее см. ниже) и развертываю мое приложение (с virtualenv) в /home/web/djangoapp и никаких проблем с процессами пушки-зомби и сирот.

i проверял ваши параметры, тайм-аут может быть проблемой, но другой заключается в том, что вы не настраиваете max-запросы в своей конфигурации, по умолчанию равно 0, поэтому автоматический перезапуск рабочего компьютера в вашем демоне и может генерировать утечки памяти (http://gunicorn-docs.readthedocs.org/en/latest/settings.html#max-requests)