Training job in the background
This commit is contained in:
@@ -7,6 +7,7 @@ Uses shared database infrastructure
|
||||
import structlog
|
||||
from typing import AsyncGenerator
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from contextlib import asynccontextmanager
|
||||
from sqlalchemy import text
|
||||
|
||||
from shared.database.base import DatabaseManager, Base
|
||||
@@ -20,6 +21,18 @@ database_manager = DatabaseManager(settings.DATABASE_URL)
|
||||
# Alias for convenience - matches the existing interface
|
||||
get_db = database_manager.get_db
|
||||
|
||||
@asynccontextmanager
|
||||
async def get_background_db_session():
|
||||
async with database_manager.async_session_local() as session:
|
||||
try:
|
||||
yield session
|
||||
await session.commit()
|
||||
except Exception as e:
|
||||
await session.rollback()
|
||||
raise
|
||||
finally:
|
||||
await session.close()
|
||||
|
||||
async def get_db_health() -> bool:
|
||||
"""
|
||||
Health check function for database connectivity
|
||||
|
||||
Reference in New Issue
Block a user