# !/usr/bin/ python # -*- coding: utf-8 -*- ''' @Project : lq-agent-api @File :__init__.py.py @IDE :PyCharm @Author : @Date :2025/7/10 17:04 ''' import uuid from contextlib import asynccontextmanager from contextvars import ContextVar from fastapi import FastAPI, APIRouter from foundation.base.mysql.async_mysql_conn_pool import AsyncMySQLPool from foundation.logger.loggering import server_logger @asynccontextmanager async def lifespan(app: FastAPI): # 启动时加载工具 #await mcp_server.get_mcp_tools() # 全局数据库连接池实例 async_db_pool = None # async_db_pool = AsyncMySQLPool() # await async_db_pool.initialize() # app.state.async_db_pool = async_db_pool #server_logger.info(f"✅ MySQL数据库连接池:{app.state.async_db_pool}") yield # 关闭时清理 if async_db_pool and async_db_pool.close: await async_db_pool.close() test_router = APIRouter(prefix="/test", tags=["agent"]) current_operation_id: ContextVar[str] = ContextVar("operation_id", default=str(uuid.uuid4())) def get_operation_id() -> str: """依赖项:获取当前操作ID""" return current_operation_id.get()