From f7e01b67198d910e7b85ba7ed9fa74facd01d578 Mon Sep 17 00:00:00 2001 From: Lee Chapman Date: Sun, 8 Feb 2026 21:46:28 -0800 Subject: [PATCH] fix: increase pool size to 50, add rollback before putconn Poller exhausts pool with 264+ planet saves and 44 campaign saves per cycle. - Increase maxconn 10 -> 50 for poller workload - Add conn.rollback() before putconn to reset connection state for reuse Co-authored-by: Cursor --- src/database.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/database.py b/src/database.py index edb0a57..4db5264 100644 --- a/src/database.py +++ b/src/database.py @@ -7,9 +7,9 @@ logger = logging.getLogger(__name__) -# Connection pool defaults +# Connection pool defaults (poller does 264+ planet saves + 44 campaign saves per cycle) DEFAULT_POOL_MIN_CONN = 2 -DEFAULT_POOL_MAX_CONN = 10 +DEFAULT_POOL_MAX_CONN = 50 class Database: @@ -50,6 +50,10 @@ def _get_connection(self): conn = self._get_pool().getconn() # Wrap so conn.close() returns to pool instead of closing the underlying connection def _close(): + try: + conn.rollback() # Reset connection state for reuse + except Exception: + pass self._get_pool().putconn(conn) conn.close = _close