Files
SnapAndAnaly/backend/app/schemas/job.py
T

80 lines
951 B
Python
Raw Normal View History

"""分析任务队列的请求/响应模型。"""
from __future__ import annotations
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class JobOut(BaseModel):
"""单条任务详情,含关联截图摘要。"""
id: int
screenshot_id: int
kind: str
status: str
retries: int
last_error: Optional[str] = None
created_at: datetime
started_at: Optional[datetime] = None
finished_at: Optional[datetime] = None
thumb_url: Optional[str] = None
path: Optional[str] = None
ai_title: Optional[str] = None
ai_status: Optional[str] = None
ocr_status: Optional[str] = None
class JobListResp(BaseModel):
items: list[JobOut]
total: int
page: int
size: int
class JobRetryIn(BaseModel):
"""可选:仅重试指定 job id;不传则重试全部 failed。"""
job_ids: Optional[list[int]] = None