2025-10-23 14:08:08 +08:00
|
|
|
from contextlib import asynccontextmanager
|
|
|
|
|
|
|
|
|
|
from fastapi import FastAPI
|
|
|
|
|
|
|
|
|
|
from server.services import tasker
|
2026-01-14 17:32:19 +08:00
|
|
|
from src.services.mcp_service import init_mcp_servers
|
|
|
|
|
from src.utils import logger
|
2025-10-23 14:08:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@asynccontextmanager
|
|
|
|
|
async def lifespan(app: FastAPI):
|
|
|
|
|
"""FastAPI lifespan事件管理器"""
|
2026-01-14 00:34:24 +08:00
|
|
|
# 初始化 MCP 服务器配置
|
2026-01-14 17:32:19 +08:00
|
|
|
try:
|
|
|
|
|
await init_mcp_servers()
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logger.error(f"Failed to initialize MCP servers during startup: {e}")
|
2026-01-14 00:47:26 +08:00
|
|
|
|
2026-01-14 00:34:24 +08:00
|
|
|
await tasker.start()
|
2025-10-23 14:08:08 +08:00
|
|
|
yield
|
|
|
|
|
await tasker.shutdown()
|