syllabus/app/main.py
2026-01-08 13:26:15 -05:00

39 lines
962 B
Python

"""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)