Spaces:
Sleeping
Sleeping
Dink0 Claude Opus 4.8 commited on
Commit ·
14ba511
1
Parent(s): 397f7dc
Fix Telegram timeouts: restore generous connect/read timeouts and lower concurrency
Browse filesHF datacenter IPs get throttled by Telegram; the new 3.05s connect timeout
plus 16-way concurrency caused mass read timeouts. Restore 6-way concurrency,
bump connect/read timeouts, and floor them against tiny env overrides.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
app.py
CHANGED
|
@@ -31,13 +31,19 @@ TELEGRAM_STRING_SESSION = os.getenv("TELEGRAM_STRING_SESSION", "")
|
|
| 31 |
# --- Таймауты и параллелизм (всё настраивается через переменные окружения) ---
|
| 32 |
# Таймаут одного HTTP-запроса задаём кортежем (connect, read), чтобы зависший
|
| 33 |
# коннект не съедал всё время.
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
REQUEST_TIMEOUT = float(os.getenv("REQUEST_TIMEOUT", "15")) # для VK API
|
| 39 |
|
| 40 |
-
TELEGRAM_CONCURRENCY = int(os.getenv("TELEGRAM_CONCURRENCY", "
|
| 41 |
MAX_CONCURRENCY = int(os.getenv("MAX_CONCURRENCY", "8"))
|
| 42 |
|
| 43 |
VK_MAX_RETRIES = int(os.getenv("VK_MAX_RETRIES", "5"))
|
|
|
|
| 31 |
# --- Таймауты и параллелизм (всё настраивается через переменные окружения) ---
|
| 32 |
# Таймаут одного HTTP-запроса задаём кортежем (connect, read), чтобы зависший
|
| 33 |
# коннект не съедал всё время.
|
| 34 |
+
# С датацентр-IP (Hugging Face) Telegram троттлит соединения, поэтому держим
|
| 35 |
+
# щедрый connect-таймаут и не задираем параллелизм — иначе массовые таймауты.
|
| 36 |
+
# max(..., floor) — защита от слишком маленьких значений в env (например,
|
| 37 |
+
# случайно выставленного TELEGRAM_OP_TIMEOUT=3.05), которые рвут TG-запросы.
|
| 38 |
+
_TG_CONNECT_TIMEOUT = max(float(os.getenv("TELEGRAM_CONNECT_TIMEOUT", "10")), 8.0)
|
| 39 |
+
_TG_READ_TIMEOUT = max(float(os.getenv("TELEGRAM_OP_TIMEOUT", "15")), 10.0)
|
| 40 |
+
TG_HTTP_TIMEOUT = (_TG_CONNECT_TIMEOUT, _TG_READ_TIMEOUT)
|
| 41 |
+
_MAX_CONNECT_TIMEOUT = max(float(os.getenv("MAX_CONNECT_TIMEOUT", "10")), 8.0)
|
| 42 |
+
_MAX_READ_TIMEOUT = max(float(os.getenv("MAX_OP_TIMEOUT", "12")), 8.0)
|
| 43 |
+
MAX_HTTP_TIMEOUT = (_MAX_CONNECT_TIMEOUT, _MAX_READ_TIMEOUT)
|
| 44 |
REQUEST_TIMEOUT = float(os.getenv("REQUEST_TIMEOUT", "15")) # для VK API
|
| 45 |
|
| 46 |
+
TELEGRAM_CONCURRENCY = int(os.getenv("TELEGRAM_CONCURRENCY", "6"))
|
| 47 |
MAX_CONCURRENCY = int(os.getenv("MAX_CONCURRENCY", "8"))
|
| 48 |
|
| 49 |
VK_MAX_RETRIES = int(os.getenv("VK_MAX_RETRIES", "5"))
|