From 8b0f0023b13ac8f6b1cf0bea765e5d61afad195a Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Thu, 13 Feb 2025 00:07:15 +0000 Subject: [PATCH] setting default db pool and verflow sizes --- app/shared/db/database.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/shared/db/database.py b/app/shared/db/database.py index d404b5c..171b97b 100644 --- a/app/shared/db/database.py +++ b/app/shared/db/database.py @@ -9,7 +9,13 @@ from app.shared.settings import get_settings @lru_cache def make_engine(database_url: str): - engine = create_engine(database_url, connect_args={"check_same_thread": False}) + engine = create_engine( + database_url, + connect_args={"check_same_thread": False}, + pool_size=15, # Increase pool size + max_overflow=20, # Allow more temporary connections + pool_recycle=1800 # Recycle connections every 30 minutes + ) @event.listens_for(engine, "connect") def set_sqlite_pragma(conn, _) -> None: @@ -37,6 +43,7 @@ def get_db_dependency(): with get_db() as db: yield db + def wal_checkpoint(): # WAL checkpointing, make sure the .sqlite file receives the latest changes # to be called at startup as it halts writes