Reset webhook when need to skip updates. // executor

This commit is contained in:
Alex Root Junior 2017-11-16 17:56:04 +02:00
parent f050d08c75
commit a5766aad6f

View file

@ -16,6 +16,7 @@ async def _startup(dispatcher: Dispatcher, skip_updates=False, callback=None):
await callback(dispatcher) await callback(dispatcher)
if skip_updates: if skip_updates:
await dispatcher.reset_webhook(True)
count = await dispatcher.skip_updates() count = await dispatcher.skip_updates()
if count: if count:
log.warning(f"Skipped {count} updates.") log.warning(f"Skipped {count} updates.")
@ -32,6 +33,9 @@ async def _shutdown(dispatcher: Dispatcher, callback=None):
if callable(callback): if callable(callback):
await callback(dispatcher) await callback(dispatcher)
if dispatcher.is_pooling():
dispatcher.stop_pooling()
await dispatcher.storage.close() await dispatcher.storage.close()
await dispatcher.storage.wait_closed() await dispatcher.storage.wait_closed()
@ -51,7 +55,7 @@ def start_pooling(dispatcher, *, loop=None, skip_updates=False, on_startup=None,
try: try:
loop.run_until_complete(_startup(dispatcher, skip_updates=skip_updates, callback=on_startup)) loop.run_until_complete(_startup(dispatcher, skip_updates=skip_updates, callback=on_startup))
loop.create_task(dispatcher.start_pooling()) loop.create_task(dispatcher.start_pooling(reset_webhook=True))
loop.run_forever() loop.run_forever()
except (KeyboardInterrupt, SystemExit): except (KeyboardInterrupt, SystemExit):
pass pass