from datetime import datetime from enum import Enum from typing import Optional from pydantic import BaseModel # 定义任务状态枚举 class TaskStatus(Enum): PENDING = "pending" QUEUED = "queued" PROCESSING = "processing" COMPLETED = "completed" FAILED = "failed" # 定义任务模型 class Task(BaseModel): task_id: str audio_file_path: str video_file_path: str output_dir: str output_file_path: str description: str status: TaskStatus created_at: datetime completed_at: Optional[datetime] = None error_message: Optional[str] = None machine_name: Optional[str] = None callback_url: Optional[str] = None # 定义任务创建请求模型 class TaskCreateRequest(BaseModel): description: str callback_url: Optional[str] = None