"""Main FastAPI application entry point.""" from core.app import create_app from routes import api_router, web_router from routes.scheduler import router as scheduler_router from core.scheduler import init_scheduler, shutdown_scheduler import logging # Create the FastAPI app app = create_app() # Get logger logger = logging.getLogger("syllabus") # Include routers app.include_router(api_router) app.include_router(web_router) app.include_router(scheduler_router) # Initialize scheduler on startup @app.on_event("startup") async def startup(): """Initialize scheduler on startup.""" await init_scheduler() logger.info("Scheduler started") @app.on_event("shutdown") async def shutdown(): """Shutdown scheduler on app shutdown.""" shutdown_scheduler() logger.info("Scheduler stopped") logger.info("Application initialized successfully") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)