Skip to content

Commit 72c1bc8

Browse files
committed
loop
1 parent 08bde11 commit 72c1bc8

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

thingsdb/client/client.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def __init__(
4545
used. Defaults to `None`.
4646
"""
4747

48-
self._loop = loop if loop else asyncio.get_running_loop()
48+
self._loop = loop
4949
self._auth = None
5050
self._pool = None
5151
self._protocol = None
@@ -78,6 +78,8 @@ def get_event_loop(self) -> asyncio.AbstractEventLoop:
7878
Returns:
7979
AbstractEventLoop: The event loop used by the client.
8080
"""
81+
if self._loop is None:
82+
self._loop = asyncio.get_running_loop()
8183
return self._loop
8284

8385
def is_connected(self) -> bool:
@@ -247,7 +249,8 @@ def reconnect(self) -> Optional[asyncio.Future[Any]]:
247249
if self._reconnecting:
248250
return
249251
self._reconnecting = True
250-
return asyncio.ensure_future(self._reconnect_loop(), loop=self._loop)
252+
return asyncio.ensure_future(self._reconnect_loop(),
253+
loop=self.get_event_loop())
251254

252255
async def wait_closed(self) -> None:
253256
"""Wait for a connection to close.
@@ -594,11 +597,12 @@ async def _connect(self, timeout: Optional[int] = 5):
594597
conn,
595598
timeout=timeout)
596599
else:
597-
conn = self._loop.create_connection(
600+
loop = self.get_event_loop()
601+
conn = loop.create_connection(
598602
lambda: Protocol(
599603
on_connection_lost=self._on_connection_lost,
600604
on_event=self._on_event,
601-
loop=self._loop),
605+
loop=loop),
602606
host=host,
603607
port=port,
604608
ssl=self._ssl)
@@ -645,7 +649,8 @@ def _on_event(self, pkg):
645649
logging.warning(
646650
f'Unexpected event: tp:{pkg.tp} data:{pkg.data}')
647651
else:
648-
asyncio.ensure_future(self._on_room(room_id, pkg), loop=self._loop)
652+
asyncio.ensure_future(self._on_room(room_id, pkg),
653+
loop=self.get_event_loop())
649654

650655
def _on_connection_lost(self, protocol, exc):
651656
if self._protocol is not protocol:
@@ -678,7 +683,7 @@ async def _reconnect_loop(self):
678683
else:
679684
if protocol and protocol.is_connected():
680685
# make sure the `old` connection will be dropped
681-
self._loop.call_later(10.0, protocol.close)
686+
self.get_event_loop().call_later(10.0, protocol.close)
682687
break
683688

684689
await asyncio.sleep(wait_time)

0 commit comments

Comments
 (0)