Skip to content

TaskStatus

Task Status Schema.

BaseTaskStatusSchema dataclass

BaseTaskStatusSchema schema.

Parameters:

Name Type Description Default
status str

Status.

required
task_name str

Name.

''
priority int

Priority.

0
args Tuple[str]

Arguments of type args.

'[]'
kwargs Dict[str, str]

Arguments of type kwargs.

'{}'
created_at float

Created date in timestamp format.

0.0
updated_at float

Update date in timestamp format.

time()
returning str | None

Result. Default: None.

required
traceback str | None

Trace errors. Default: None.

required
Source code in src/qtasks/schemas/task_status.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@dataclass
class BaseTaskStatusSchema:
    """
    `BaseTaskStatusSchema` schema.

    Args:
        status (str): Status.
        task_name (str): Name.
        priority (int): Priority.
        args (Tuple[str]): Arguments of type args.
        kwargs (Dict[str, str]): Arguments of type kwargs.

        created_at (float): Created date in `timestamp` format.
        updated_at (float): Update date in `timestamp` format.
        returning (str | None): Result. Default: `None`.
        traceback (str | None): Trace errors. Default: `None`.
    """

    task_name: str = ""
    priority: int = 0

    args: str = field(default="[]")
    kwargs: str = field(default="{}")

    created_at: float = 0.0
    updated_at: float = field(default_factory=time)

    def __post_init__(self):
        """Convert arguments to JSON format."""
        if not isinstance(self.args, str):
            self.args = json.dumps(self.args)
        if not isinstance(self.kwargs, str):
            self.kwargs = json.dumps(self.kwargs)

__post_init__()

Convert arguments to JSON format.

Source code in src/qtasks/schemas/task_status.py
38
39
40
41
42
43
def __post_init__(self):
    """Convert arguments to JSON format."""
    if not isinstance(self.args, str):
        self.args = json.dumps(self.args)
    if not isinstance(self.kwargs, str):
        self.kwargs = json.dumps(self.kwargs)

TaskStatusCancelSchema dataclass

Bases: BaseTaskStatusSchema

TaskStatusCancelSchema schema.

Parameters:

Name Type Description Default
status str

Status.

CANCEL.value
cancel_reason str

Reason for canceling the task.

''
Source code in src/qtasks/schemas/task_status.py
103
104
105
106
107
108
109
110
111
112
113
114
@dataclass
class TaskStatusCancelSchema(BaseTaskStatusSchema):
    """
    `TaskStatusCancelSchema` schema.

    Args:
        status (str): Status.
        cancel_reason (str): Reason for canceling the task.
    """

    status: str = TaskStatusEnum.CANCEL.value
    cancel_reason: str = ""

TaskStatusErrorSchema dataclass

Bases: BaseTaskStatusSchema

TaskStatusErrorSchema schema.

Parameters:

Name Type Description Default
status str

Status.

ERROR.value
traceback str

Error tracing.

''
Source code in src/qtasks/schemas/task_status.py
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
@dataclass
class TaskStatusErrorSchema(BaseTaskStatusSchema):
    """
    `TaskStatusErrorSchema` schema.

    Args:
        status (str): Status.
        traceback (str): Error tracing.
    """

    status: str = TaskStatusEnum.ERROR.value
    traceback: str = ""

    # plugins
    retry: ClassVar[int | None] = None
    retry_child_uuid: ClassVar[str | None] = None
    retry_parent_uuid: ClassVar[str | None] = None

TaskStatusNewSchema dataclass

Bases: BaseTaskStatusSchema

TaskStatusNewSchema schema.

Parameters:

Name Type Description Default
status str

Status.

NEW.value
Source code in src/qtasks/schemas/task_status.py
46
47
48
49
50
51
52
53
54
55
@dataclass
class TaskStatusNewSchema(BaseTaskStatusSchema):
    """
    `TaskStatusNewSchema` schema.

    Args:
        status (str): Status.
    """

    status: str = TaskStatusEnum.NEW.value

TaskStatusProcessSchema dataclass

Bases: BaseTaskStatusSchema

TaskStatusProcessSchema schema.

Parameters:

Name Type Description Default
status str

Status.

PROCESS.value
Source code in src/qtasks/schemas/task_status.py
58
59
60
61
62
63
64
65
66
67
@dataclass
class TaskStatusProcessSchema(BaseTaskStatusSchema):
    """
    `TaskStatusProcessSchema` schema.

    Args:
        status (str): Status.
    """

    status: str = TaskStatusEnum.PROCESS.value

TaskStatusSuccessSchema dataclass

Bases: BaseTaskStatusSchema

TaskStatusSuccessSchema schema.

Parameters:

Name Type Description Default
status str

Status.

SUCCESS.value
returning str

Result.

''
Source code in src/qtasks/schemas/task_status.py
70
71
72
73
74
75
76
77
78
79
80
81
@dataclass
class TaskStatusSuccessSchema(BaseTaskStatusSchema):
    """
    `TaskStatusSuccessSchema` schema.

    Args:
        status (str): Status.
        returning (str): Result.
    """

    status: str = TaskStatusEnum.SUCCESS.value
    returning: str = ""