]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
refactor(pool): don't use a no-op function as reconnect callback
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 6 Oct 2023 15:04:42 +0000 (17:04 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Fri, 6 Oct 2023 17:16:29 +0000 (19:16 +0200)
Just check for None.

psycopg_pool/psycopg_pool/base.py
psycopg_pool/psycopg_pool/pool.py
psycopg_pool/psycopg_pool/pool_async.py

index fe29408c3034b2c6abe5bf1f818d8b3ddb4161cb..f54af8108c9f2b14e55c0c57674c25710b00a25d 100644 (file)
@@ -64,8 +64,7 @@ class BasePool(Generic[ConnectionType]):
 
         self.conninfo = conninfo
         self.kwargs: Dict[str, Any] = kwargs or {}
-        self._reconnect_failed: Callable[["BasePool[ConnectionType]"], None]
-        self._reconnect_failed = reconnect_failed or (lambda pool: None)
+        self._reconnect_failed = reconnect_failed
         self.name = name
         self._min_size = min_size
         self._max_size = max_size
index 9c3c7dc3cebb9f4b1c2ef440f49b3e55a0eed970..8254c593496f5698bf7740ae44b3dd2330ef56ed 100644 (file)
@@ -458,6 +458,9 @@ class ConnectionPool(BasePool[Connection[Any]]):
         """
         Called when reconnection failed for longer than `reconnect_timeout`.
         """
+        if not self._reconnect_failed:
+            return
+
         self._reconnect_failed(self)
 
     def run_task(self, task: "MaintenanceTask") -> None:
index 8d9184620307f89b7a9f54b6913e75caef99c9e7..fa310b129b5c411e4c737591b7db2bc51ec81f65 100644 (file)
@@ -396,6 +396,9 @@ class AsyncConnectionPool(BasePool[AsyncConnection[Any]]):
         """
         Called when reconnection failed for longer than `reconnect_timeout`.
         """
+        if not self._reconnect_failed:
+            return
+
         self._reconnect_failed(self)
 
     def run_task(self, task: "MaintenanceTask") -> None: