hpcflow.sdk.persistence.json.JsonStoreTask#

class hpcflow.sdk.persistence.json.JsonStoreTask(id_, index, is_pending, element_IDs, task_template=None)#

Bases: StoreTask[TaskMeta]

Persisted task that is serialized using JSON.

Methods

append_element_IDs

Return a copy, with additional element IDs.

decode

Initialise a StoreTask from store task data

encode

Prepare store task data for the persistent store.

Attributes

task_template

Description of the template for the task.

id_

The ID of the task.

index

The index of the task within its workflow.

is_pending

Whether the task has changes not yet persisted.

element_IDs

The IDs of elements in the task.

Parameters:
  • id_ (int) –

  • index (int) –

  • is_pending (bool) –

  • element_IDs (list[int]) –

  • task_template (Mapping[str, Any] | None) –

append_element_IDs(pend_IDs)#

Return a copy, with additional element IDs.

Parameters:

pend_IDs (list[int]) –

Return type:

Self

classmethod decode(task_dat)#

Initialise a StoreTask from store task data

Note: the task_template is only needed for encoding because it is retrieved as part of the WorkflowTemplate so we don’t need to load it when decoding.

Parameters:

task_dat (TaskMeta) –

Return type:

Self

element_IDs: list[int]#

The IDs of elements in the task.

encode()#

Prepare store task data for the persistent store.

Return type:

tuple[int, TaskMeta, dict[str, Any]]

id_: int#

The ID of the task.

index: int#

The index of the task within its workflow.

is_pending: bool#

Whether the task has changes not yet persisted.

task_template: Mapping[str, Any] | None = None#

Description of the template for the task.