Share via


TaskBase Class

The base class of all Tasks.

Contains shared logic that drives all of its sub-classes. Should never be instantiated on its own.

Initialize the TaskBase.

Constructor

TaskBase(id_: int | str, actions: List[Action] | Action)

Parameters

Name Description
id
Required
int

An ID for the task

actions
Required
<xref:List>[<xref:Any>]

The list of DF actions representing this Task. Needed for reconstruction in the extension.

id_
Required

Methods

change_state

Transition a running Task to a terminal state: success or failure.

propagate

Notify parent Task of this Task's state change.

set_is_played

Set the is_played flag for the Task.

Needed for updating the orchestrator's is_replaying flag.

set_value

Set the value of this Task: either an exception of a result.

change_state

Transition a running Task to a terminal state: success or failure.

change_state(state: TaskState)

Parameters

Name Description
state
Required

The terminal state to assign to this Task

Exceptions

Type Description

When the input state is RUNNING

propagate

Notify parent Task of this Task's state change.

propagate()

set_is_played

Set the is_played flag for the Task.

Needed for updating the orchestrator's is_replaying flag.

set_is_played(is_played: bool)

Parameters

Name Description
is_played
Required

Whether the latest event for this Task has been played before.

set_value

Set the value of this Task: either an exception of a result.

set_value(is_error: bool, value: Any)

Parameters

Name Description
is_error
Required

Whether the value represents an exception of a result.

value
Required
Any

The value of this Task

Exceptions

Type Description

When the Task failed but its value was not an Exception

Attributes

is_completed

Get indicator of whether the task completed.

Note that completion is not equivalent to success.