From 16ea942d5f311b2005b51b9df66cc5d3c63c0d24 Mon Sep 17 00:00:00 2001 From: pedohorse <13556996+pedohorse@users.noreply.github.com> Date: Tue, 4 Feb 2025 00:01:34 +0100 Subject: [PATCH] do NOT call get_config on module level --- src/lifeblood/shared_lazy_sqlite_connection.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lifeblood/shared_lazy_sqlite_connection.py b/src/lifeblood/shared_lazy_sqlite_connection.py index f72090e2..c26b05b9 100644 --- a/src/lifeblood/shared_lazy_sqlite_connection.py +++ b/src/lifeblood/shared_lazy_sqlite_connection.py @@ -62,14 +62,17 @@ def _invoke_close_callbacks(self): class ConnectionPool: - default_period = get_config('scheduler').get_option_noasync('shared_connection.keep_open_period', 0.0125) - get_logger('lazy_connection_pool').debug(f'using default open period: {default_period}') + default_period: Optional[float] = None def __init__(self): self.connection_cache: Dict[tuple, ConnectionPoolEntry] = {} self.pool_lock = asyncio.Lock() - self.keep_open_period = self.default_period self.__logger = get_logger('shared_aiosqlite_connection') + # TODO: should not be using get_config here, scheduler's data provider should be used instead + if ConnectionPool.default_period is None: + ConnectionPool.default_period = get_config('scheduler').get_option_noasync('shared_connection.keep_open_period', 0.0125) + self.__logger.debug(f'using default open period: {ConnectionPool.default_period}') + self.keep_open_period = ConnectionPool.default_period self.__my_loop = asyncio.get_running_loop() def is_in_this_loop(self, loop=None):