Heroku имеет жесткий 30-секундный тайм-аут запроса. Когда запрос превышает 30 секунд, Heroku закрывает соединение, как ожидалось.
Проблема: даже после тайм-аута Heroku Gunicorn/Uvicorn продолжает выполнять запрос в фоновом режиме, что приводит к потере ресурсов.
Команда Gunicorn:
Код: Выделить всё
newrelic-admin run-program gunicorn --workers 4 --worker-connections 200 --timeout 30 --max-requests 1000 --max-requests-jitter 500 --bind 0.0.0.0:8000 asgi:application
- Почему Gunicorn/Uvicorn продолжает выполнять запрос после истечения времени Heroku?
- Есть ли способ отменить запрос при отключении клиента?
- Должно ли это обрабатываться в Django (асинхронно) отмена/промежуточное ПО) или через настройки Gunicorn?
Подробнее здесь: https://stackoverflow.com/questions/798 ... 0s-timeout
Мобильная версия