Merge branch 'feat-pool-recycle' into db-fixes

This commit is contained in:
Tim O'Farrell 2025-12-24 20:53:24 -07:00
commit 672d6fa4df
2 changed files with 7 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_POOL_RECYCLE', '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:
@ -48,6 +50,7 @@ def _get_db_engine():
host_string,
pool_size=POOL_SIZE,
max_overflow=MAX_OVERFLOW,
pool_recycle=POOL_RECYCLE,
pool_pre_ping=True,
)

View File

@ -34,6 +34,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
@ -137,6 +138,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:
@ -170,6 +172,7 @@ class DbSessionInjector(BaseModel, Injector[async_sessionmaker]):
url,
pool_size=self.pool_size,
max_overflow=self.max_overflow,
pool_recycle=self.pool_recycle,
pool_pre_ping=True,
)
else:
@ -210,6 +213,7 @@ class DbSessionInjector(BaseModel, Injector[async_sessionmaker]):
url,
pool_size=self.pool_size,
max_overflow=self.max_overflow,
pool_recycle=self.pool_recycle,
pool_pre_ping=True,
)
self._engine = engine