Не удалось уловить это предупреждение: у Telegram внутренние проблемы TimeoutErrorPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось уловить это предупреждение: у Telegram внутренние проблемы TimeoutError

Сообщение Anonymous »

Я разрабатываю асинхронный бот Telegram с использованием asyncio и реализовал логику повтора для своей функции message_listener для обработки таких ошибок, как TimeoutError. Мой код пытается перехватить все исключения, кроме Exception as e, чтобы гарантировать перезапуск прослушивателя после любой ошибки. Однако при возникновении ошибки TimeoutError задача полностью останавливается, не вызывая блок исключения и не повторяя попытку, хотя моя задача контрольного сигнала продолжает выполняться.
Пример журнала:

Код: Выделить всё

2024-11-13 22:10:05,488:WARNING:Telegram is having internal issues TimeoutError: Timeout while fetching data (caused by GetHistoryRequest)
Я подозреваю, что задача может быть отменена автоматически или что исключение не распространяется обратно в мой блок try-кроме.
Код ключа:< /p>

Код: Выделить всё

async def message_listener():
try:
while True:
message = await client.get_messages(chat, limit=1)
# Process message
except Exception as e:
# General error handling and retry

Код: Выделить всё

try:
await asyncio.gather(
reading_telegram.message_listener(),
monitoring_status.send_heartbeat()
)
except Exception as e:
logging.exception(f"An error occurred on reading_relegram.py: {e}")

Вопрос: Как обеспечить надежный перезапуск message_listener, если он обнаружит TimeoutError или остановится автоматически? Почему ни одно из моих исключений не улавливает это? Это ожидаемый результат телемарафона?

Подробнее здесь: https://stackoverflow.com/questions/791 ... meouterror
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»