from contextlib import asynccontextmanager from fastapi import FastAPI from app.client.embedding_client_manager import embedding_client from app.client.milvus_client_manager import milvus_client from app.client.mysql_client_manager import db_assistant_mysql_client_manager """ 生命周期 容器启动时执行 yield 容器停止时执行 """ @asynccontextmanager async def lifespan(app: FastAPI): db_assistant_mysql_client_manager.init() embedding_client.init() milvus_client.init() yield await db_assistant_mysql_client_manager.close() await embedding_client.close() milvus_client.close()