doot.control.tracker.queue

Type Aliases

Abstract

Classes

TrackQueue

The queue of active tasks.

Module Contents

doot.control.tracker.queue.Abstract: TypeAlias = T
class doot.control.tracker.queue.TrackQueue(
*,
tracker: doot.control.tracker._interface.WorkflowTracker_p,
)[source]

The queue of active tasks.

Parameters:

tracker (doot.control.tracker._interface.WorkflowTracker_p)

active_set: set[Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i]
execution_trace: list[Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i]]
_tracker: doot.control.tracker._interface.WorkflowTracker_i
_queue: boltons.queueutils.HeapPriorityQueue
queue_entry(
target: str | doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i,
*,
from_user: int | bool = False,
) jgdv.Maybe[Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i]][source]

Queue a task by name|spec|Task_i. registers and instantiates the relevant spec, inserts it into the _tracker._network Does not rebuild the _tracker._network

returns a task name if the _tracker._network has changed, else None.

kwarg ‘from_user’ signifies the enty is a starting target, adding cli args if necessary and linking to the root.

Parameters:
Return type:

jgdv.Maybe[Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i]]

deque_entry(
*,
peek: bool = False,
) Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i[source]

remove (or peek) the top task from the _queue.

Parameters:

peek (bool)

Return type:

Concrete[doot.workflow._interface.TaskName_p] | doot.workflow._interface.Artifact_i

clear_queue() None[source]

Remove everything from the task queue,

Return type:

None

_queue_task(
name: str | doot.workflow._interface.TaskName_p,
*,
from_user: int | bool = False,
) jgdv.Maybe[doot.workflow._interface.TaskName_p][source]
Parameters:
Return type:

jgdv.Maybe[doot.workflow._interface.TaskName_p]

_queue_artifact(
art: doot.workflow._interface.Artifact_i,
*,
from_user: int | bool = False,
) jgdv.Maybe[doot.workflow._interface.Artifact_i][source]
Parameters:
Return type:

jgdv.Maybe[doot.workflow._interface.Artifact_i]

_queue_prep_name(
name: str | doot.workflow._interface.TaskName_p,
) jgdv.Maybe[doot.workflow._interface.TaskName_p][source]

Heuristics for queueing task names

Parameters:

name (str | doot.workflow._interface.TaskName_p)

Return type:

jgdv.Maybe[doot.workflow._interface.TaskName_p]