pi_portal.modules.tasks.task.serializers.task_serializer.SerializedTask

class pi_portal.modules.tasks.task.serializers.task_serializer.SerializedTask(completed: datetime | None, created: datetime, id: Any, ok: bool | None, result: TaskResult[TypeTaskResult], retry_after: int, routing_label: RoutingLabel, scheduled: datetime | None, args: TaskArgsBase, on_failure: List[SerializedTask], on_success: List[SerializedTask], type: TaskType)[source]

Bases: TaskFields[Any]

A serialized representation of a task.

__init__(completed: datetime | None, created: datetime, id: Any, ok: bool | None, result: TaskResult[TypeTaskResult], retry_after: int, routing_label: RoutingLabel, scheduled: datetime | None, args: TaskArgsBase, on_failure: List[SerializedTask], on_success: List[SerializedTask], type: TaskType) None
args: TaskArgsBase

The arguments used by this task instance.

completed: datetime | None

The datetime of completion, or None if not complete.

created: datetime

The datetime of task creation.

id: Any

The id (assigned by the queue) for this task.

ok: bool | None

Set to None before job completion, afterward a boolean job status.

on_failure: List[SerializedTask]

An array of subsequent jobs to be performed on task failure.

on_success: List[SerializedTask]

An array of subsequent jobs to be performed on task completion.

result: TaskResult[TypeTaskResult]

Set to None before job completion, afterward returned results.

retry_after: int

A positive value in seconds ensures this task will be retried on failure.

routing_label: RoutingLabel

The routing label for this task.

scheduled: datetime | None

Set to None before job completion, afterward returned results.

classmethod serialize(task: TaskBase[TaskArgsBase, Any]) SerializedTask[source]

Serialize a task into a dataclass.

Parameters:

task (TaskBase[TaskArgsBase, Any]) – The task to serialize.

Returns:

A task serialized as a dataclass instance.

Return type:

SerializedTask

type: TaskType

The type of task being represented.