Stiamo utilizzando Django + Gunicorn + Nginx nel nostro server. Il problema è che dopo un po 'vediamo molti dei processi di lavoro di gunicorn che sono diventati orfani, e molti altri che sono diventati zombi. Inoltre possiamo vedere che alcuni dei processi di lavoro di Gunicorn generano altri lavoratori Gunicorn. La nostra ipotesi migliore è che questi lavoratori diventino orfani dopo la morte dei loro genitori.
Perché i lavoratori Gunicorn generano lavoratori minorenni? Perché muoiono ?! E come possiamo evitare questo?
Vorrei anche ricordare che abbiamo impostato il livello di registro di Gunicorn su debug
e ancora non vediamo nulla di significativo, oltre al registro periodico del numero di lavoratori, che riporta il conteggio dei lavoratori che volevamo da esso.Processi di spawning dei dipendenti di sincronizzazione di Gunicorn
UPDATE Questa è la linea che abbiamo usato per eseguire gunicorn:
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
Puoi pubblicare la tua configurazione Gunicorn? È difficile capire cosa potrebbe succedere senza sapere come è stato impostato. – jnovinger
qualsiasi aggiornamento sulla tua domanda? hai trovato una soluzione o hai scoperto cosa c'era che non andava? –
questo è stato per molto tempo fa, abbiamo cambiato da gunicorn a uWSGI un giorno o due dopo che ho fatto questa domanda e non abbiamo trovato una soluzione. – sazary