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

Тысячи сессий в Telethon: как не утонуть в .session-файлах

Тысячи сессий в Telethon: как не утонуть в .session-файлах

Когда аккаунтов становится много, файловая свалка ломает и скорость, и контроль. Нормальная схема — хранить метаданные сессий в базе: user_id, phone, proxy, state, last_used, dc_id, hash ключи, статус flood/ban. Сам файл сессии остаётся артефактом Telethon, но управление жизненным циклом уходит в SQL.

Базовая модель простая: отдельная таблица sessions и отдельная таблица tasks. Сессия должна браться в работу через lock/lease, а не по принципу «кто первый открыл файл». Это убирает гонки между воркерами и позволяет безопасно масштабировать парсинг, инвайтинг и рассылки. Если воркер умер — lease истёк, запись вернулась в пул.

Критично хранить не только статус, но и контекст ошибок: FloodWait, RPCError, invalid phone, auth key invalid, proxy fail. По этим полям строится маршрутизация: кого отправить на другой прокси, кого поставить на cooldown, кого пересоздать. Без этой телеметрии база превращается в архив, а не в диспетчерскую.

Практика: индексируйте поля state, last_used и proxy_id; не держите долгие транзакции; отделяйте «живые» сессии от «мёртвых»; чистите дубликаты по phone и device fingerprint. Оптимизируем сессии, избегаем лимитов.

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

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

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

start

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

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

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