wall_docker/app/routes/analyze_status.py
Boen_Shi 6a2e046884 feat(api): 添加图像分析功能和相关路由接口
- 新增 analyze、analyze_result、analyze_status 和 health 路由
- 实现图像上传和任务提交功能
- 添加任务状态查询和结果获取接口
- 集成 segformer 和 yolo 模型进行图像检测
- 实现 SAM3 预处理功能用于图像预处理判断
- 添加模型选择配置支持 segformer 和 yolo
- 实现任务队列管理和异步处理机制
- 添加 Dockerfile 用于容器化部署
- 配置环境变量和 gitignore 规则
- 创建数据模型定义 API 响应结构
2026-01-27 11:59:45 +08:00

35 lines
987 B
Python

from fastapi import APIRouter, Response
from app.schemas.analyze_status import AnalyzeStatus, AnalyzeStatusData
from app.services.model import TaskStatus
router = APIRouter()
@router.get("/analyze/status/{task_id}")
async def get_task_status(task_id: str, response: Response):
from app.main import WORKER
task = WORKER.task_store.get(task_id)
if task:
response.status_code = 200
return AnalyzeStatus(
success=True,
data=AnalyzeStatusData(
taskId=task_id,
status=task.status,
progress=task.progress,
message=task.message
)
)
else:
response.status_code = 404
return AnalyzeStatus(
success=False,
data=AnalyzeStatusData(
taskId=task_id,
status=TaskStatus.NOT_FOUND.name,
progress=0,
message=TaskStatus.NOT_FOUND.value
)
)