Training job in the background

This commit is contained in:
Urtzi Alfaro
2025-08-01 16:26:36 +02:00
parent e67ce2a594
commit 2f6f13bfef
4 changed files with 169 additions and 25 deletions

View File

@@ -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