Загрузка...

Problem with asynchronous Telegram newsletter?

Thread in Thematic questions created by Kijom Aug 4, 2025 at 1:35 AM. 45 views

  1. Kijom
    Kijom Topic starter Aug 4, 2025 at 1:35 AM 1 Nov 20, 2023
    Привет. У меня есть скрипт на Python, который рассылает сообщения по Telegram с 15 аккаунтов одновременно. Каждый аккаунт отправляет сообщения примерно в 80 разных чатов. Всё реализовано через asyncio: аккаунты асинхронно заходят в чаты, имитируют активность и отправляют сообщения.
    Проблема:
    Когда скрипт работает долго (2–3+ часа), часть аккаунтов просто “замирает”: рассылка перестает идти вообще, хотя аккаунт не в бане и сессия активна. Ошибок не выдает, но видно по логам — ничего не отправляется. Чем дольше работает — тем меньше аккаунтов продолжает рассылку.
    Условия:
    • Задержки между сообщениями рандомные: 90–190 сек.
    • Скрипт крутится на мощном ПК (нагрузка не в потолке)
    • Аккаунты не спамнутые, лимиты не исчерпаны
    • У каждого аккаунта свой набор чатов, логика полностью разделена

    Что пробовал:
    • Добавил timeout на отправку
    • Логика авто-перезапуска клиента, если молчит более 5 мин
    • Запускал скрипт в Ubuntu (нагрузка на CPU падает, но проблема остается)
    • Логика вся асинхронная, запускаю через asyncio.gather
    Вопрос:
    • Может ли помочь разбивка на 2–3 отдельных скрипта (по 5 аккаунтов каждый) и запуск в разных терминалах?
    • Сталкивался ли кто-то с подобным эффектом “затухания” асинхронных задач в длительных сессиях?
     
  2. evo_lution
    либо хуйня код либо тг апи шалит

    просто ставь везде логгирование и время потом поймаешь найдёшь
     
  3. гриндер
    гриндер Aug 4, 2025 at 1:55 AM Разработка софта, ботов - https://zelenka.guru/threads/6583046/ 1978 Jul 14, 2022
    возможно там обычный ексепшн вылетает, и стопорится прога, либо просто какая то пустяковая ошибка, типа цикл аккаунтов не полный, нужно смотреть код, если по твоим словам смотреть, вылетать не должно, + ошибку не выдает. А мб у тебя вобще трай ексепт стоит, и ничего не выводит в консоль, ну вобщем так сходу и не скажешь
     
Top
Loading...