Skip to content

Commit 42fb3a1

Browse files
committed
The asyncio queue needs to have its tasks marked done or they grow forever.
1 parent b91299b commit 42fb3a1

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

async_substrate_interface/async_substrate.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,7 @@ async def _start_sending(self, ws) -> Exception:
755755
try:
756756
while True:
757757
to_send_ = await self._sending.get()
758+
self._sending.task_done()
758759
send_id = to_send_["id"]
759760
to_send = json.dumps(to_send_)
760761
async with self._lock:
@@ -848,7 +849,9 @@ async def retrieve(self, item_id: str) -> Optional[dict]:
848849
return res
849850
else:
850851
try:
851-
return self._received_subscriptions[item_id].get_nowait()
852+
subscription = self._received_subscriptions[item_id].get_nowait()
853+
self._received_subscriptions[item_id].task_done()
854+
return subscription
852855
except asyncio.QueueEmpty:
853856
pass
854857
if self._send_recv_task is not None and self._send_recv_task.done():

0 commit comments

Comments
 (0)