diff --git a/telegram/ext/updater.py b/telegram/ext/updater.py index 5d286a6a6b6..83c421cc60b 100644 --- a/telegram/ext/updater.py +++ b/telegram/ext/updater.py @@ -30,7 +30,7 @@ from telegram import Bot, TelegramError from telegram.ext import Dispatcher, JobQueue -from telegram.error import Unauthorized, InvalidToken, RetryAfter +from telegram.error import Unauthorized, InvalidToken, RetryAfter, TimedOut from telegram.utils.helpers import get_signal_name from telegram.utils.request import Request from telegram.utils.webhookhandler import (WebhookServer, WebhookHandler) @@ -267,11 +267,9 @@ def start_webhook(self, def _start_polling(self, poll_interval, timeout, read_latency, bootstrap_retries, clean, allowed_updates): # pragma: no cover - # """ # Thread target of thread 'updater'. Runs in background, pulls # updates from Telegram and inserts them in the update queue of the # Dispatcher. - # """ cur_interval = poll_interval self.logger.debug('Updater thread started') @@ -288,8 +286,12 @@ def _start_polling(self, poll_interval, timeout, read_latency, bootstrap_retries except RetryAfter as e: self.logger.info(str(e)) cur_interval = 0.5 + e.retry_after + except TimedOut as toe: + self.logger.debug('Timed out getting Updates: %s', toe) + # If get_updates() failed due to timeout, we should retry asap. + cur_interval = 0 except TelegramError as te: - self.logger.error("Error while getting Updates: {0}".format(te)) + self.logger.error('Error while getting Updates: %s', te) # Put the error into the update queue and let the Dispatcher # broadcast it @@ -310,7 +312,8 @@ def _start_polling(self, poll_interval, timeout, read_latency, bootstrap_retries cur_interval = poll_interval - sleep(cur_interval) + if cur_interval: + sleep(cur_interval) @staticmethod def _increase_poll_interval(current_interval): pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy