Added pool recycling

This commit is contained in:
Tim O'Farrell 2025-12-23 17:05:44 -07:00
parent 8bc1a47a78
commit 4aec890351
2 changed files with 4 additions and 0 deletions

View File

@ -19,6 +19,7 @@ GCP_REGION = os.environ.get('GCP_REGION')
POOL_SIZE = int(os.environ.get('DB_POOL_SIZE', '25'))
MAX_OVERFLOW = int(os.environ.get('DB_MAX_OVERFLOW', '10'))
POOL_RECYCLE = int(os.environ.get('DB_MAX_OVERFLOW', '1800'))
def _get_db_engine():
@ -38,6 +39,7 @@ def _get_db_engine():
creator=get_db_connection,
pool_size=POOL_SIZE,
max_overflow=MAX_OVERFLOW,
pool_recycle=POOL_RECYCLE,
pool_pre_ping=True,
)
else:

View File

@ -33,6 +33,7 @@ class DbSessionInjector(BaseModel, Injector[async_sessionmaker]):
echo: bool = False
pool_size: int = 25
max_overflow: int = 10
pool_recycle: int = 1800
gcp_db_instance: str | None = None
gcp_project: str | None = None
gcp_region: str | None = None
@ -141,6 +142,7 @@ class DbSessionInjector(BaseModel, Injector[async_sessionmaker]):
pool_size=self.pool_size,
max_overflow=self.max_overflow,
pool_pre_ping=True,
pool_recycle=self.pool_recycle,
)
async def get_async_db_engine(self) -> AsyncEngine: