| | |
| | | from contextlib import asynccontextmanager |
| | | from apscheduler.schedulers.background import BackgroundScheduler |
| | | from fastapi import FastAPI |
| | | from fastapi.middleware.cors import CORSMiddleware |
| | | from starlette.staticfiles import StaticFiles |
| | | |
| | | from app.api.auth import router as auth_router |
| | | from app.api.canvas import canvas_router |
| | | from app.api.chat import router as chat_router |
| | |
| | | from app.api.v2.public_api import public_api |
| | | from app.api.report import router as report_router |
| | | from app.api.resource import menu_router |
| | | # from app.api.sync_data import sync_router |
| | | from app.api.user import user_router |
| | | from app.api.group import group_router |
| | | from app.api.role import role_router |
| | | 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, \ |
| | | from app.task.fetch_agent import sync_agents_v2, sync_knowledge, \ |
| | | sync_resources_from_json |
| | | from app.init_config.init_run_data import sync_default_data |
| | | from app.task.sync_account_token import start_sync_token_task, sync_token |
| | | from app.task.sync_account_token import start_sync_token_task |
| | | |
| | | init_db() |
| | | |
| | |
| | | # 使用 Lifespan 事件处理程序 |
| | | @asynccontextmanager |
| | | async def lifespan(app: FastAPI): |
| | | # 初始化代理 |
| | | # initialize_agents() |
| | | # # 在应用启动时同步代理 |
| | | # sync_agents() |
| | | |
| | | |
| | | await sync_default_data() |
| | | await sync_default_data() # Todo |
| | | sync_agents_v2() # 智能体 |
| | | sync_knowledge() # 知识库 |
| | | sync_resources_from_json() |
| | |
| | | lifespan=lifespan |
| | | ) |
| | | |
| | | # 设置 CORS 中间件 |
| | | # app.add_middleware( |
| | | # CORSMiddleware, |
| | | # allow_origins=["*"], |
| | | # allow_credentials=True, |
| | | # allow_methods=["*"], # 允许所有方法 |
| | | # allow_headers=["*"], # 允许所有头部 |
| | | # ) |
| | | |
| | | # 创建调度器 |
| | | scheduler = BackgroundScheduler() |
| | | scheduler.add_job(sync_agents_v2, 'interval', minutes=60, id="sync_resource_data") |
| | | scheduler.add_job(start_sync_token_task, 'interval', minutes=5, id="sync_token_1") |
| | | # 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"]) |