zhaoqingang
2025-01-14 519930bc1112cdf7881fecce907381ce6374e74c
main.py
@@ -1,5 +1,5 @@
from contextlib import asynccontextmanager
# from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.schedulers.background import BackgroundScheduler
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from starlette.staticfiles import StaticFiles
@@ -22,25 +22,34 @@
from app.api.user import user_router
from app.api.group import group_router
from app.api.role import role_router
from app.task.fetch_agent import sync_agents, initialize_agents, sync_agents_v2
from app.models.base_model import init_db
from app.task.delete_execl_file import delete_file_after_delay
# from app.models.base_model import init_db
from app.task.fetch_agent import sync_agents, initialize_agents, sync_agents_v2, sync_knowledge, \
    sync_resources_from_json
from app.init_config.init_run_data import sync_default_data
init_db()
# 使用 Lifespan 事件处理程序
@asynccontextmanager
async def lifespan(app: FastAPI):
    # 初始化代理
    initialize_agents()
    # 在应用启动时同步代理
    sync_agents()
    await sync_default_data()
    # initialize_agents()
    # # 在应用启动时同步代理
    # sync_agents()
    await sync_default_data()
    sync_agents_v2()
    sync_knowledge()
    sync_resources_from_json()
    yield
    # 在应用关闭时执行清理操作(如果需要)
    pass
# init_db()
app = FastAPI(
    title="basic_rag_gateway",
    version="0.1",
@@ -57,10 +66,10 @@
#     allow_headers=["*"],  # 允许所有头部
# )
# 创建调度器
# scheduler = BackgroundScheduler()
# scheduler.add_job(sync_resource, 'interval', minutes=1, id="sync_resource_data")
# scheduler.start()
scheduler = BackgroundScheduler()
scheduler.add_job(sync_agents_v2, 'interval', minutes=10, id="sync_resource_data")
# scheduler.add_job(delete_file_after_delay, 'interval', minutes=10, id="delete_file_after_delay")
scheduler.start()
app.include_router(auth_router, prefix='/api/auth', tags=["auth"])
app.include_router(chat_router, prefix='/api/chat', tags=["chat"])
@@ -83,4 +92,5 @@
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=9201)