Worker Gunicorn перезапускается после долгих вызовов API - PullRequest
0 голосов
/ 05 мая 2020

У меня есть приложение flask, которое работает с использованием Gunicorn.

Это приложение flask имеет API, выполнение которого занимает два часа.

Если один и тот же API вызывается дважды после 30-минутного перерыва между двумя процессами процесс, обрабатывающий первый вызов API, перезапускается после второго вызова API.

Пример: начальный процесс начинается с API_1 Через 30 минут API_1 вызывается снова, затем обработка процесса предыдущий вызов API_1 перезапускается.

Команда, используемая для запуска сервера Gunicorn:

nohup gunicorn --bind 0.0.0.0:5000 --workers=8 run:app --timeout 7200  --preload> output.log& 

Номер ядра: 8

Во время работы у меня нет проблем flask в режиме разработки.

Есть идеи, почему он так себя ведет?

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать другие типы рабочих. Ваш текущий тип работника - syn c. Если вы хотите отправить длинный запрос, вероятно, вам нужно использовать поток-воркер или асинхронный c воркер.

nohup gunicorn --bind 0.0.0.0:5000 -k gevent run:app

См. Этот документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...