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

Тысячи Telethon-сессий не масштабируются “в памяти” — нужен нормальный слой хранения

Тысячи Telethon-сессий не масштабируются “в памяти” — нужен нормальный слой хранения

Когда скрипт держит десятки или сотни аккаунтов, файл-сессия быстро упирается в хаос: конкурирующие записи, потеря состояния, ручной бэкап. База данных решает это только если сессия — не “blob”, а набор полей: auth_key, dc_id, user_id, номер телефона, флаги блокировки, метка последней активности.

Схема должна быть простой:
— отдельная таблица sessions;
— уникальный ключ на user_id или phone;
— индексы по status, updated_at, proxy_id;
— транзакция на создание/обновление, чтобы два воркера не перетёрли одну запись.

Критично разделять чтение и запись. Воркеры забирают задачу через lock или статус processing, после выполнения возвращают result и updated_at. Если сессия ловит FloodWait, RPCError или разлогин, это не “ошибка аккаунта”, а состояние, которое тоже пишется в БД и влияет на очередь задач.

Для Telethon полезно хранить рядом и инфраструктурные данные: proxy, fingerprint клиента, лимит попыток входа, время последней синхронизации. Тогда можно пересоздать соединение, поднять воркер на другом хосте и не потерять контекст. Оптимизируем сессии, избегаем лимитов.

Вывод простой: масштабируется не код авторизации, а модель данных вокруг неё. Дебаг — наш лучший друг в борьбе с FloodWait.
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.
tech

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

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

start

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

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

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