Gunicorn: Os trabalhadores reiniciam com --max-requisições = 0 quando --max-requisições-jitter é definido para um valor diferente de zero

Criado em 5 fev. 2019  ·  4Comentários  ·  Fonte: benoitc/gunicorn

Para reproduzir, inicie o gunicorn assim:

gunicorn -w 1 --max-requests=0 --max-requests-jitter=10 -b 0.0.0.0:8000 api:app

Em seguida, direcione algum tráfego para ele e observe a seguinte saída de registro:

[2019-02-05 20:27:23 +0000] [19] [INFO] Starting gunicorn 19.9.0
[2019-02-05 20:27:23 +0000] [19] [INFO] Listening at: http://0.0.0.0:8000 (19)
[2019-02-05 20:27:23 +0000] [19] [INFO] Using worker: sync
[2019-02-05 20:27:23 +0000] [22] [INFO] Booting worker with pid: 22
[2019-02-05 20:27:37 +0000] [22] [INFO] Autorestarting worker after current request.
[2019-02-05 20:27:37 +0000] [22] [INFO] Worker exiting (pid: 22)
[2019-02-05 20:27:37 +0000] [24] [INFO] Booting worker with pid: 24

Espero que --max-requests-jitter não tenha efeito quando --max-requests é definido como 0.

( Feedback Requested )

Comentários muito úteis

Este erro foi introduzido em d4e1bfe5bd7801c160282310875c70cec15b7c07:

A linha self.max_requests = cfg.max_requests + jitter or MAXSIZE agora self.max_requests = cfg.max_requests + jitter or sys.maxsize desde e974f30517261b2bc95cfb2017a8688f367c8bf3 definirá self.max_requests para o valor _jitter_.

Devemos realmente definir self.max_requests apenas se o valor de configuração for maior que 0.

Todos 4 comentários

Qual é o comportamento que você está esperando? Normalmente, max-requests=0 deve significar que os workers nunca reiniciam automaticamente, mas pelo seu log parece que sim.

Este erro foi introduzido em d4e1bfe5bd7801c160282310875c70cec15b7c07:

A linha self.max_requests = cfg.max_requests + jitter or MAXSIZE agora self.max_requests = cfg.max_requests + jitter or sys.maxsize desde e974f30517261b2bc95cfb2017a8688f367c8bf3 definirá self.max_requests para o valor _jitter_.

Devemos realmente definir self.max_requests apenas se o valor de configuração for maior que 0.

@joekohlsdorf o patch acima deve corrigir o erro, mas nos avise ...

Obrigado, parece bom para mim.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

haolujun picture haolujun  ·  3Comentários

benoitc picture benoitc  ·  4Comentários

zenglingyu picture zenglingyu  ·  4Comentários

mrwillis picture mrwillis  ·  4Comentários

thomasjungblut picture thomasjungblut  ·  3Comentários