taolib.testing.task_queue.models.task#

任务数据模型。

定义 Task 的 4-tier Pydantic 模型: Base → Create/Update → Response → Document

Classes#

TaskBase

任务基础字段。

TaskCreate

创建任务的输入模型。

TaskUpdate

更新任务的输入模型(所有字段可选)。

TaskResponse

任务的 API 响应模型。

TaskDocument

任务的 MongoDB 文档模型。

Module Contents#

class taolib.testing.task_queue.models.task.TaskBase#

Bases: pydantic.BaseModel

任务基础字段。

task_type: str#
params: dict[str, Any]#
priority: taolib.testing.task_queue.models.enums.TaskPriority#
max_retries: int#
retry_delays: list[int]#
idempotency_key: str | None#
tags: list[str]#
class taolib.testing.task_queue.models.task.TaskCreate#

Bases: TaskBase

创建任务的输入模型。

class taolib.testing.task_queue.models.task.TaskUpdate#

Bases: pydantic.BaseModel

更新任务的输入模型(所有字段可选)。

status: taolib.testing.task_queue.models.enums.TaskStatus | None = None#
retry_count: int | None = None#
result: dict[str, Any] | None = None#
error_message: str | None = None#
error_traceback: str | None = None#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
next_retry_at: datetime.datetime | None = None#
class taolib.testing.task_queue.models.task.TaskResponse#

Bases: TaskBase

任务的 API 响应模型。

id: str#
status: taolib.testing.task_queue.models.enums.TaskStatus#
retry_count: int#
result: dict[str, Any] | None = None#
error_message: str | None = None#
error_traceback: str | None = None#
created_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
next_retry_at: datetime.datetime | None = None#
model_config#
class taolib.testing.task_queue.models.task.TaskDocument#

Bases: TaskBase

任务的 MongoDB 文档模型。

id: str#
status: taolib.testing.task_queue.models.enums.TaskStatus#
retry_count: int#
result: dict[str, Any] | None = None#
error_message: str | None = None#
error_traceback: str | None = None#
created_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
next_retry_at: datetime.datetime | None = None#
model_config#
to_response() TaskResponse#

转换为 API 响应。