Tiempo de espera frecuente del trabajador

Resuelto John asked hace 12 años • 0 respuestas

Configuré Gunicorn con 3 trabajadores, 30 conexiones de trabajadores y usé la clase de trabajador eventlet. Está configurado detrás de Nginx. Después de cada pocas solicitudes, veo esto en los registros.

[ERROR] gunicorn.error: WORKER TIMEOUT (pid:23475)
None
[INFO] gunicorn.error: Booting worker with pid: 23514

¿Por qué está pasando esto? ¿Cómo puedo saber qué está mal?

John avatar Jun 02 '12 01:06 John
Aceptado

Tuvimos el mismo problema al usar Django+nginx+gunicorn. Desde la documentación de Gunicorn hemos configurado el tiempo de espera elegante que casi no hizo ninguna diferencia.

Después de algunas pruebas, encontramos la solución, el parámetro a configurar es: tiempo de espera (y no tiempo de espera elegante). Funciona como un reloj..

Entonces, haz:

1) abre el archivo de configuración de gunicorn

2) configure el TIEMPO DE ESPERA según lo que necesite: el valor está en segundos

NUM_WORKERS=3
TIMEOUT=120

exec gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--timeout $TIMEOUT \
--log-level=debug \
--bind=127.0.0.1:9000 \
--pid=$PIDFILE
Amit Talmor avatar Jun 19 '2014 11:06 Amit Talmor

En Google Cloud Simplemente agregue --timeout 90al punto de entrada enapp.yaml

entrypoint: gunicorn -b :$PORT main:app --timeout 90
Apurv Agarwal avatar Jan 05 '2018 06:01 Apurv Agarwal

Ejecuta Gunicorn con --log-level debug.

Debería proporcionarle un seguimiento de la pila de aplicaciones.

gwik avatar Aug 18 '2012 16:08 gwik