FloodWaitError не лечится ретраем: корректная реакция важнее скорости отправки
FloodWaitError — это не «временный сбой», а лимит на стороне MTProto. Если скрипт продолжает слать запросы в лоб, он лишь увеличивает паузу и риск других RPC-ошибок. Нормальная стратегия одна: поймали исключение, читаем seconds, уходим в sleep и не трогаем этот аккаунт до окончания таймера.
Разделяйте обработку по типу запроса:
• при чтении — можно ставить мягкий backoff и повторять позже;
• при инвайтах, рассылках, массовых действиях — лучше ставить очередь и замораживать профиль;
• при нескольких FloodWait подряд — считать сессию «горячей» и снижать нагрузку.
Не делайте blind retry без задержки. Для Telethon это особенно важно: один и тот же цикл может упасть на каждом шаге, если не обновлять состояние планировщика. Храните время следующей попытки отдельно от бизнес-логики, иначе вы получите вечный цикл ошибок вместо контролируемой паузы. Дебаг — наш лучший друг в борьбе с FloodWait.
Если нужен стабильный автосценарий, закладывайте обработчик исключений как часть архитектуры, а не как `except: pass`. Оптимизируем сессии, избегаем лимитов.
Telethon мастерская
@telethon_workshops_ubt
FloodWaitError не лечится ретраем: корректная реакция важнее скорости отправки
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.