Wir verwenden Django + Gunicorn + Nginx in unserem Server. Das Problem ist, dass wir nach einer Weile viele Gunicorn-Worker-Prozesse sehen, die verwaist wurden, und viele andere, die zu Zombies geworden sind. Außerdem können wir sehen, dass einige Gunicorn-Arbeiterprozesse einige andere Gunicorn-Arbeiter hervorbringen. Unsere beste Vermutung ist, dass diese Arbeiter zu Waisen werden, nachdem ihre Eltern gestorben sind.
Warum laichten Gunicorn Arbeiter Kinderarbeiter? Warum sterben sie ?! Und wie können wir das verhindern?
Ich sollte auch erwähnen, dass wir Gunicorn Log-Level auf debug
gesetzt haben und immer noch sehen wir nichts bedeutungsvolles, außer periodischen Log der Arbeiter Nummer, die Berichte Anzahl der Arbeiter, die wir von ihm wollten berichtet.Gunicorn sync Arbeiter laichen Prozesse
UPDATE Das ist die Linie, die wir gunicorn laufen verwendet:
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
Können Sie Ihre Gunicorn-Konfiguration posten? Es ist schwer zu verstehen, was passieren könnte, ohne zu wissen, wie es aufgebaut ist. – jnovinger
jedes Update auf Ihre Frage? Hast du eine Lösung gefunden oder herausgefunden, was falsch war? –
das war lange her, wir haben uns ein oder zwei tage von gunicorn zu uWSGI geändert, nachdem ich diese frage gestellt habe und wir haben keine lösung gefunden. – sazary