в докере с помощью docker-compose. спустя пару дней работы просто перестаёт функционировать и намертво зависает. единственное что помогает это ручной перезапуск контейнера. хотелось бы узнать, из-за чего такое может быть? возможно, кто-то сталкивался. есть предположение что это из-за большого количества логов, типо они забивают всё место. тогда вопрос в другом, можно ли как-то освобождать место без перезапуска или принудительно перезапускать бота, скажем, после выполнения определенной функции?
А в логах что?
спамит asyncio.exceptions.TimeoutError. При чём, я убрал логгинг и убрал все принты в консоль. Раньше выводил описание ошибок, некоторые необходимые для тестов данные
там кода довольно много, может нужны определенные блоки?
Похоже на проблемы с сетью
pastbin.com
paste.aiogram.dev pastebin.com
да я понимаю как кидать, просто думал может кто сталкивался и знает где рыть то вообще. Ок, а зависать бот может из-за ошибок asyncio.exceptions.TimeoutError? В плане, если они не влияют на работу, а просто служат индикатором (как подсказали выше, возможных, проблем с сетью), то можно их игнорировать, по крайне мере первое время. и сначала решить проблему которая напрямую мешает работе
таймауты по 5 минут минимум, потом по новой, аиограм как-то нормально не может с ними, инициализурую бота с таймаутом 10 секунд, худо-пополам работает
а можешь подсказать как их поменять? и из-за чего вообще такая проблема? типо бот шлёт запросы и не получает ответа за определенное время?
А с какой ошибкой зависает? Какие признаки подаёт перед этим?
сейчас никакой ошибки не выдаёт, в логах только подключение к БД. Раньше прям спамило asyncio.TimeoutError. При чём сейчас, после некоторых изменений в коде, стало зависать на порядок чаще, но как таковой ошибки нет
Может у тебя коннекты не освобождаются обратно в пул?
Звучит как сетевые проблемы, которые ты закрыл костылем
Аиограм же из-за этого не падает замертво
Что сделал чтобы ошибка пропала?
честно говоря, не силён в терминах, с ботом работаю только как с удобным интерфейсом для вывода информации, поэтому не знаю что это
Да небось завис где-то в ожидании сети
Скорее в ожидании свободных коннектов к базе, я прям на 80% уверен
Базой правильно пользуешься? Методы .close, .release и подобные у тебя есть? Ну или хотя бы async with
переделывал немного функционал что бы функция запускалась сразу при старте бота (просто добавил on_startup). Но там была проблема в циклическим импортом и решил путём импорта всего модуля
Чую будет сторон
А что есть связанное с сетью?
Обсуждают сегодня