Add FastAPI backend with agent system

This commit is contained in:
2026-03-21 10:13:29 +08:00
parent ed6bab59fe
commit 6ffa07adde
82 changed files with 11138 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
from fastapi import APIRouter, Depends
from app.models.user import User
from app.routers.auth import get_current_user
from app.services.scheduler_service import (
get_scheduler_status,
scheduler,
daily_task_analysis,
forum_scan_task,
graph_rebuild_task,
tag_generation_task,
)
import logging
router = APIRouter(prefix="/api/scheduler", tags=["定时任务"])
logger = logging.getLogger(__name__)
@router.get("/status")
async def get_status(current_user: User = Depends(get_current_user)):
"""获取调度器状态"""
return get_scheduler_status()
@router.post("/trigger/{job_id}")
async def trigger_job(job_id: str, current_user: User = Depends(get_current_user)):
"""手动触发某个定时任务"""
job_map = {
"daily_task_analysis": daily_task_analysis,
"forum_scan": forum_scan_task,
"graph_rebuild": graph_rebuild_task,
"tag_generation": tag_generation_task,
}
if job_id not in job_map:
return {"error": f"未知任务: {job_id}"}
try:
await job_map[job_id]()
return {"status": "ok", "job": job_id, "message": "任务已触发执行"}
except Exception as e:
logger.error(f"手动触发任务失败 {job_id}: {e}")
return {"status": "error", "job": job_id, "error": str(e)}