Gunicorn: рд╢реНрд░рдорд┐рдХ - рдЕрдзрд┐рдХрддрдо-рдЕрдиреБрд░реЛрдз = 0 рдХреЗ рд╕рд╛рде рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ рдЬрдм - рдЕрдзрд┐рдХрддрдо-рдЕрдиреБрд░реЛрдз-рдШрдмрд░рд╛рдирд╛ рдЧреИрд░-рд╢реВрдиреНрдп рдорд╛рди рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдлрд╝рд░ре░ 2019  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: benoitc/gunicorn

рдкреБрдирд░реБрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрдирд┐рдХреЛрд░реНрди рд╢реБрд░реВ рдХрд░реЗрдВ:

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

рдлрд┐рд░ рдЙрд╕ рдкрд░ рдХреБрдЫ рдЯреНрд░реИрдлрд╝рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрди рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреЗрдВ:

[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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ --max-requests-jitter рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдЬрдм --max-requests рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред

( Feedback Requested )

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рддреНрд░реБрдЯрд┐ d4e1bfe5bd7801c160282310875c70cec15b7c07 рдореЗрдВ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИ:

рд▓рд╛рдЗрди self.max_requests = cfg.max_requests + jitter or MAXSIZE рдЕрдм self.max_requests = cfg.max_requests + jitter or sys.maxsize рд╕реЗ e974f30517261b2bc95cfb2017a8688f367c8bf3 self.max_requests рдХреЛ _jitter_ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░ рджреЗрдЧреАред

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ self.max_requests рддрднреА рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЗрд╕рдХрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдорд╛рди 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХреНрдпрд╛ рд╣реИ? рдЖрдо рддреМрд░ рдкрд░, max-requests=0 рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд░реНрдордЪрд╛рд░реА рдХрднреА рднреА рдСрдЯреЛ-рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд▓реЙрдЧ рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рддреНрд░реБрдЯрд┐ d4e1bfe5bd7801c160282310875c70cec15b7c07 рдореЗрдВ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИ:

рд▓рд╛рдЗрди self.max_requests = cfg.max_requests + jitter or MAXSIZE рдЕрдм self.max_requests = cfg.max_requests + jitter or sys.maxsize рд╕реЗ e974f30517261b2bc95cfb2017a8688f367c8bf3 self.max_requests рдХреЛ _jitter_ рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░ рджреЗрдЧреАред

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ self.max_requests рддрднреА рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЗрд╕рдХрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдорд╛рди 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛред

@joekohlsdorf рдКрдкрд░ рджрд┐рдП рдЧрдП рдкреИрдЪ рдХреЛ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдмрддрд╛рдПрдВ ...

рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

lordmauve picture lordmauve  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

twosigmajab picture twosigmajab  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ttcqaq picture ttcqaq  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bywangxp picture bywangxp  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Abraxos picture Abraxos  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ