WORKER TIMEOUT
significa que su aplicación no puede responder a la solicitud en un período de tiempo definido. Puede configurar esto usando la configuración de tiempo de espera de gunicorn . Algunas aplicaciones necesitan más tiempo para responder que otras.
Otra cosa que puede afectar esto es elegir el tipo de trabajador
Los trabajadores síncronos predeterminados suponen que su aplicación está vinculada a los recursos en términos de CPU y ancho de banda de red. En general, esto significa que su aplicación no debe hacer nada que lleve una cantidad de tiempo indefinida. Un ejemplo de algo que lleva una cantidad de tiempo indefinida es una solicitud a Internet. En algún momento, la red externa fallará de tal manera que los clientes se acumularán en sus servidores. Entonces, en este sentido, cualquier aplicación web que realice solicitudes salientes a las API se beneficiará de un trabajador asincrónico.
Cuando tuve el mismo problema que el tuyo (estaba tratando de implementar mi aplicación usando Docker Swarm), intenté aumentar el tiempo de espera y usar otro tipo de clase de trabajador. Pero todo falló.
Y de repente me di cuenta de que estaba limitando mi recurso demasiado bajo para el servicio dentro de mi archivo de redacción . Esto es lo que ralentizó la aplicación en mi caso
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
Por lo tanto, le sugiero que compruebe qué cosa ralentiza su aplicación en primer lugar
Gunicorn==19.3.1
ygevent==1.0.1