WORKER TIMEOUT
significa que seu aplicativo não pode responder à solicitação em um período de tempo definido. Você pode definir isso usando as configurações de tempo limite do gunicorn . Alguns aplicativos precisam de mais tempo para responder do que outro.
Outra coisa que pode afetar isso é escolher o tipo de trabalhador
Os trabalhadores síncronos padrão assumem que seu aplicativo está vinculado a recursos em termos de CPU e largura de banda da rede. Geralmente, isso significa que seu aplicativo não deve fazer nada que leve um tempo indefinido. Um exemplo de algo que leva um tempo indefinido é uma solicitação para a Internet. Em algum momento, a rede externa falhará de tal maneira que os clientes se acumularão nos seus servidores. Portanto, nesse sentido, qualquer aplicativo Web que faça solicitações de saída para APIs se beneficiará de um trabalhador assíncrono.
Quando tive o mesmo problema que o seu (estava tentando implantar meu aplicativo usando o Docker Swarm), tentei aumentar o tempo limite e usar outro tipo de classe de trabalho. Mas tudo falhou.
E, de repente, percebi que estava limitando meu recurso muito baixo para o serviço dentro do meu arquivo de composição. Esta é a coisa que atrasou a aplicação no meu caso
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
Então, sugiro que você verifique o que está diminuindo a velocidade do seu aplicativo.
Gunicorn==19.3.1
egevent==1.0.1