main.py 776 B

123456789101112131415161718192021222324252627282930
  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. from app.strategies.bootstrap import init_strategy_system
  8. @asynccontextmanager
  9. async def lifespan(_: FastAPI):
  10. init_strategy_system()
  11. start_scheduler()
  12. try:
  13. yield
  14. finally:
  15. shutdown_scheduler()
  16. app = FastAPI(title=settings.app_name, lifespan=lifespan)
  17. app.add_middleware(
  18. CORSMiddleware,
  19. allow_origins=settings.cors_allow_origin_list,
  20. allow_credentials=False,
  21. allow_methods=["*"],
  22. allow_headers=["*"],
  23. )
  24. app.include_router(router, prefix="/demand/api/v1")