Merge pull request #312 from python-telegram-bot/timeout_take2

set default network_delay to 5 seconds
This commit is contained in:
Leandro Toledo 2016-05-28 15:14:54 -03:00
commit 32ac617e2e
2 changed files with 27 additions and 28 deletions

View file

@ -1182,31 +1182,27 @@ class Bot(TelegramObject):
return url, data
@log
def getUpdates(self, offset=None, limit=100, timeout=0, network_delay=.2, **kwargs):
def getUpdates(self, offset=None, limit=100, timeout=0, network_delay=5., **kwargs):
"""Use this method to receive incoming updates using long polling.
Args:
offset:
Identifier of the first update to be returned. Must be greater by
one than the highest among the identifiers of previously received
updates. By default, updates starting with the earliest unconfirmed
update are returned. An update is considered confirmed as soon as
getUpdates is called with an offset higher than its update_id.
limit:
Limits the number of updates to be retrieved. Values between 1-100
are accepted. Defaults to 100.
timeout:
Timeout in seconds for long polling. Defaults to 0, i.e. usual
short polling.
network_delay:
Additional timeout in seconds to allow the response from Telegram
to take some time when using long polling. Defaults to 2, which
should be enough for most connections. Increase it if it takes very
long for data to be transmitted from and to the Telegram servers.
offset (Optional[int]):
Identifier of the first update to be returned. Must be greater by one than the highest
among the identifiers of previously received updates. By default, updates starting with
the earliest unconfirmed update are returned. An update is considered confirmed as soon
as getUpdates is called with an offset higher than its update_id.
limit (Optional[int]):
Limits the number of updates to be retrieved. Values between 1-100 are accepted.
Defaults to 100.
timeout (Optional[int]):
Timeout in seconds for long polling. Defaults to 0, i.e. usual short polling.
network_delay (Optional[float]):
Additional timeout in seconds to allow the response from Telegram servers. This should
cover network latency around the globe, SSL handshake and slowness of the Telegram
servers (which unfortunately happens a lot recently - 2016-05-28). Defaults to 5.
Returns:
list[:class:`telegram.Update`]: A list of :class:`telegram.Update`
objects are returned.
list[:class:`telegram.Update`]
Raises:
:class:`telegram.TelegramError`

View file

@ -112,22 +112,25 @@ class Updater(object):
def start_polling(self,
poll_interval=0.0,
timeout=10,
network_delay=2,
network_delay=5.,
clean=False,
bootstrap_retries=0):
"""
Starts polling updates from Telegram.
Args:
poll_interval (Optional[float]): Time to wait between polling
updates from Telegram in seconds. Default is 0.0
poll_interval (Optional[float]): Time to wait between polling updates from Telegram in
seconds. Default is 0.0
timeout (Optional[float]): Passed to Bot.getUpdates
network_delay (Optional[float]): Passed to Bot.getUpdates
clean (Optional[bool]): Whether to clean any pending updates on
Telegram servers before actually starting to poll. Default is
False.
bootstrap_retries (Optional[int[): Whether the bootstrapping phase
of the `Updater` will retry on failures on the Telegram server.
clean (Optional[bool]): Whether to clean any pending updates on Telegram servers before
actually starting to poll. Default is False.
bootstrap_retries (Optional[int]): Whether the bootstrapping phase of the `Updater`
will retry on failures on the Telegram server.
| < 0 - retry indefinitely
| 0 - no retries (default)