20 lines
1005 B
Markdown
20 lines
1005 B
Markdown
# Ответ Соннета — ERR_TIMED_OUT (2026-07-12)
|
|
|
|
## Причина
|
|
|
|
Werkzeug dev server: **один поток на TCP-соединение**. Браузер держит 6 keep-alive соединений на вкладку. 6 потоков заняты idle-соединениями → backlog (5) переполнен → новое окно получает SYN-дроп → таймаут.
|
|
|
|
gunicorn+gevent: async I/O, idle-соединения не занимают ресурсы.
|
|
|
|
## Решение
|
|
|
|
Три варианта:
|
|
|
|
| Вариант | Что | Изменения |
|
|
|---|---|---|
|
|
| A (waitress) | Pure Python WSGI | `requirements.txt` + 2 строки в `app.py` |
|
|
| B (gevent) | Async, как gunicorn | `requirements.txt` + 2 строки в `app.py` |
|
|
| C (gunicorn) | Точно как v1 | `requirements.txt` + смена CMD в Штурвале |
|
|
|
|
Соннет рекомендует: **A** если Штурвал не меняет CMD, **C** если меняет.
|