Telethon мастерская
Telethon мастерская
@telethon_workshops_ubt

FloodWaitError нельзя “поймать и забыть”: ошибка лечится только логикой паузы

FloodWaitError нельзя “поймать и забыть”: ошибка лечится только логикой паузы

FloodWaitError в Telethon означает простую вещь: аккаунт уже уперся в лимит RPC и сервер требует подождать. Игнорировать это — значит получить цепочку повторных ошибок, сорвать очередь задач и ускорить деградацию сессии.

Что делать в обработчике:
— извлечь seconds из исключения и перевести его в sleep;
— сохранить состояние задачи, чтобы продолжить с того же места;
— не ретраить запросы сразу в цикле;
— если потоков много, ставить общий rate-limit, а не локальный try/except.

Для массовых сценариев важен не сам sleep, а архитектура: один FloodWait на уровне аккаунта должен блокировать только связанный воркер, а не весь процесс. Иначе вы будете терять пропускную способность даже там, где лимит был только на один метод. Дебаг — наш лучший друг в борьбе с FloodWait.

Хорошая практика: логируйте метод, peer, длительность ожидания и контекст операции. Тогда видно, какой именно вызов режет лимит, и можно перестроить очереди, снизить частоту запросов или развести действия по разным сессиям. Оптимизируем сессии, избегаем лимитов.
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.