- 新增 analyze、analyze_result、analyze_status 和 health 路由 - 实现图像上传和任务提交功能 - 添加任务状态查询和结果获取接口 - 集成 segformer 和 yolo 模型进行图像检测 - 实现 SAM3 预处理功能用于图像预处理判断 - 添加模型选择配置支持 segformer 和 yolo - 实现任务队列管理和异步处理机制 - 添加 Dockerfile 用于容器化部署 - 配置环境变量和 gitignore 规则 - 创建数据模型定义 API 响应结构
35 lines
987 B
Python
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
|
|
)
|
|
)
|