Added cancel pending tasks coro

pull/8/head
Andrey Viktorov 2019-06-03 22:42:19 +03:00
rodzic 4aa6fe9821
commit 99d76012ea
1 zmienionych plików z 14 dodań i 1 usunięć

Wyświetl plik

@ -164,7 +164,7 @@ class MQTTClient:
This method is a *coroutine*.
"""
yield from self.cancel_tasks()
if self.session.transitions.is_connected():
if not self._disconnect_task.done():
self._disconnect_task.cancel()
@ -175,6 +175,19 @@ class MQTTClient:
else:
self.logger.warning("Client session is not currently connected, ignoring call")
@asyncio.coroutine
def cancel_tasks(self):
"""
Before disconnection need to cancel all pending tasks
:return:
"""
try:
while True:
task: asyncio.Future = self.client_tasks.pop()
task.cancel()
except IndexError as err:
pass
@asyncio.coroutine
def reconnect(self, cleansession=None):
"""