diff --git a/app/core/database.py b/app/core/database.py index 0e3a4f4..aa261fe 100644 --- a/app/core/database.py +++ b/app/core/database.py @@ -1,3 +1,4 @@ +import asyncio from collections.abc import AsyncGenerator, Callable from alembic.config import Config @@ -49,8 +50,10 @@ async def init_db() -> None: # Get the alembic config alembic_cfg = Config("alembic.ini") - # Run migrations to the latest revision - command.upgrade(alembic_cfg, "head") + # Run migrations to the latest revision in a thread pool to avoid blocking + await asyncio.get_event_loop().run_in_executor( + None, command.upgrade, alembic_cfg, "head", + ) logger.info("Database migrations completed successfully") except Exception: diff --git a/app/main.py b/app/main.py index 4f2ba6a..fd1c422 100644 --- a/app/main.py +++ b/app/main.py @@ -28,8 +28,8 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None]: logger = get_logger(__name__) logger.info("Starting application") - await init_db() - logger.info("Database initialized") + # await init_db() + # logger.info("Database initialized") # Start the extraction processor await extraction_processor.start() @@ -43,7 +43,8 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None]: try: player_service = get_player_service() # Get the initialized player service app_services.scheduler_service = SchedulerService( - get_session_factory(), player_service, + get_session_factory(), + player_service, ) await app_services.scheduler_service.start() logger.info("Enhanced scheduler service started")