fix: disable autoconnect and set pool timeout on PooledPostgresqlDatabase (#80) #87

Open
Claude wants to merge 1 commits from issue/80-disable-autoconnect-and-set-pool-timeout-on-pooled into main
2 changed files with 15 additions and 2 deletions

View File

@ -23,8 +23,8 @@ if DATABASE_TYPE.lower() == 'postgresql':
port=int(os.environ.get('POSTGRES_PORT', '5432')),
max_connections=20,
stale_timeout=300, # 5 minutes
timeout=0,
autoconnect=True,
timeout=5,
autoconnect=False,
autorollback=True # Automatically rollback failed transactions
)
else:

View File

@ -7,6 +7,8 @@ from fastapi import Depends, FastAPI, Request
from fastapi.openapi.docs import get_swagger_ui_html
from fastapi.openapi.utils import get_openapi
from .db_engine import db
# from fastapi.openapi.docs import get_swagger_ui_html
# from fastapi.openapi.utils import get_openapi
@ -67,6 +69,17 @@ app = FastAPI(
)
@app.middleware("http")
async def db_connection_middleware(request: Request, call_next):
db.connect(reuse_if_open=True)
try:
response = await call_next(request)
finally:
if not db.is_closed():
db.close()
return response
logger.info(f"Starting up now...")