mirror of
https://github.com/idrainformatica/PecFlow.git
synced 2026-06-16 12:45:42 +02:00
36 lines
778 B
Python
36 lines
778 B
Python
"""
|
||
Connessione database per il worker – usa SQLAlchemy async (stesso stack del backend).
|
||
"""
|
||
|
||
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
|
||
from sqlalchemy.orm import DeclarativeBase
|
||
|
||
from app.config import get_settings
|
||
|
||
settings = get_settings()
|
||
|
||
engine = create_async_engine(
|
||
settings.database_url,
|
||
echo=False,
|
||
pool_size=5,
|
||
max_overflow=10,
|
||
pool_pre_ping=True,
|
||
)
|
||
|
||
AsyncSessionLocal = async_sessionmaker(
|
||
engine,
|
||
class_=AsyncSession,
|
||
expire_on_commit=False,
|
||
autoflush=False,
|
||
autocommit=False,
|
||
)
|
||
|
||
|
||
class Base(DeclarativeBase):
|
||
pass
|
||
|
||
|
||
async def get_db_session() -> AsyncSession:
|
||
"""Restituisce una nuova sessione DB – da usare come context manager."""
|
||
return AsyncSessionLocal()
|