main.py 691 B

12345678910111213141516171819202122232425262728
  1. from contextlib import asynccontextmanager
  2. from fastapi import FastAPI
  3. from fastapi.middleware.cors import CORSMiddleware
  4. from app.api.routes import router
  5. from app.core.config import settings
  6. from app.scheduler.manager import shutdown_scheduler, start_scheduler
  7. @asynccontextmanager
  8. async def lifespan(_: FastAPI):
  9. start_scheduler()
  10. try:
  11. yield
  12. finally:
  13. shutdown_scheduler()
  14. app = FastAPI(title=settings.app_name, lifespan=lifespan)
  15. app.add_middleware(
  16. CORSMiddleware,
  17. allow_origins=settings.cors_allow_origin_list,
  18. allow_credentials=False,
  19. allow_methods=["*"],
  20. allow_headers=["*"],
  21. )
  22. app.include_router(router, prefix="/demand/api/v1")