diff --git a/telegram/ext/updater.py b/telegram/ext/updater.py index 27d204b61d6..15111b52eb0 100644 --- a/telegram/ext/updater.py +++ b/telegram/ext/updater.py @@ -95,8 +95,16 @@ def __init__(self, if (token is not None) and (bot is not None): raise ValueError('`token` and `bot` are mutually exclusive') + self.logger = logging.getLogger(__name__) + + con_pool_size = workers + 4 + if bot is not None: self.bot = bot + if bot.request.con_pool_size < con_pool_size: + self.logger.warning( + 'Connection pool of Request object is smaller than optimal value (%s)', + con_pool_size) else: # we need a connection pool the size of: # * for each of the workers @@ -107,7 +115,7 @@ def __init__(self, if request_kwargs is None: request_kwargs = {} if 'con_pool_size' not in request_kwargs: - request_kwargs['con_pool_size'] = workers + 4 + request_kwargs['con_pool_size'] = con_pool_size self._request = Request(**request_kwargs) self.bot = Bot(token, base_url, request=self._request) self.user_sig_handler = user_sig_handler @@ -121,7 +129,6 @@ def __init__(self, workers=workers, exception_event=self.__exception_event) self.last_update_id = 0 - self.logger = logging.getLogger(__name__) self.running = False self.is_idle = False self.httpd = None diff --git a/telegram/utils/request.py b/telegram/utils/request.py index 574dd2c2fc1..2aea47741c4 100644 --- a/telegram/utils/request.py +++ b/telegram/utils/request.py @@ -86,6 +86,8 @@ def __init__(self, sockopts.append((socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 30)) sockopts.append((socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 8)) + self._con_pool_size = con_pool_size + kwargs = dict( maxsize=con_pool_size, cert_reqs='CERT_REQUIRED', @@ -126,6 +128,11 @@ def __init__(self, self._con_pool = mgr + @property + def con_pool_size(self): + """The size of the connection pool used.""" + return self._con_pool_size + def stop(self): self._con_pool.clear()
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: