Skip to content

Commit dc4ea69

Browse files
authored
Merge pull request #516 from ydb-platform/fix_driver_close
Refactor aio tableclient destructor
2 parents 6e1287a + 543fe08 commit dc4ea69

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

ydb/aio/table.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,11 @@ def __init__(self, driver, table_client_settings=None):
154154
self._pool: Optional[SessionPool] = None
155155

156156
def __del__(self):
157-
try:
158-
asyncio.get_running_loop().call_soon(self._stop_pool_if_needed)
159-
except Exception:
160-
pass
157+
if self._pool is not None and not self._pool._terminating:
158+
try:
159+
asyncio.get_running_loop().create_task(self._stop_pool_if_needed())
160+
except Exception:
161+
pass
161162

162163
def session(self):
163164
return Session(self._driver, self._table_client_settings)
@@ -185,6 +186,7 @@ def _init_pool_if_needed(self):
185186
async def _stop_pool_if_needed(self, timeout=10):
186187
if self._pool is not None and not self._pool._terminating:
187188
await self._pool.stop(timeout=timeout)
189+
self._pool = None
188190

189191
async def create_table(
190192
self,

0 commit comments

Comments
 (0)