]> 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 18:39:30 +0000 (20:39 +0200)
Just check for None.

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

index ff8c4706e35a8af5f269cd0d09bf949f945333b7..fca93724ba9beb0a0be0985b1d8bc8de51e67a4a 100644 (file)
@@ -106,8 +106,7 @@ class ConnectionPool(Generic[CT], BasePool):
         self._configure = configure
         self._reset = reset
 
-        self._reconnect_failed: ConnectFailedCB
-        self._reconnect_failed = reconnect_failed or (lambda pool: None)
+        self._reconnect_failed = reconnect_failed
 
         self._lock = threading.RLock()
         self._waiting = Deque["WaitingClient[CT]"]()
@@ -510,6 +509,9 @@ class ConnectionPool(Generic[CT], BasePool):
         """
         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 57eddd0b92d0f8892e9b371da1310d0dec07f374..90a7abb02f8e46bcafc2104558d2a2fb8ff1bbd5 100644 (file)
@@ -109,8 +109,7 @@ class AsyncConnectionPool(Generic[ACT], BasePool):
         self._configure = configure
         self._reset = reset
 
-        self._reconnect_failed: AsyncConnectFailedCB
-        self._reconnect_failed = reconnect_failed or (lambda pool: None)
+        self._reconnect_failed = reconnect_failed
 
         # asyncio objects, created on open to attach them to the right loop.
         self._lock: asyncio.Lock
@@ -448,6 +447,9 @@ class AsyncConnectionPool(Generic[ACT], BasePool):
         """
         Called when reconnection failed for longer than `reconnect_timeout`.
         """
+        if not self._reconnect_failed:
+            return
+
         if asyncio.iscoroutinefunction(self._reconnect_failed):
             await self._reconnect_failed(self)
         else: