doot.control.tracker.registry
Type Aliases
Classes
Stores and manipulates specs, tasks, and artifacts |
Module Contents
- doot.control.tracker.registry.Abstract: TypeAlias = T
- class doot.control.tracker.registry._Registration_m(*, tracker: WorkflowTracker_p)[source]
Bases:
doot.control.tracker._interface.Registry_d- Parameters:
tracker (WorkflowTracker_p)
- register_spec( ) None[source]
Register task specs, abstract or concrete
Does not handle any taskspec generation logic
- Parameters:
- Return type:
None
- _register_artifact(
- art: doot.workflow._interface.Artifact_i,
- *tasks: doot.workflow._interface.TaskName_p,
- relation: jgdv.Maybe[doot.workflow._interface.RelationMeta_e] = None,
- Parameters:
relation (jgdv.Maybe[doot.workflow._interface.RelationMeta_e])
- Return type:
None
- _register_spec_artifacts( ) None[source]
Register the artifacts a spec produces
- Parameters:
- Return type:
None
- _register_blocking_relations( ) None[source]
a Task[required_for=[x,y,z] blocks x,y,z, but if you just look at x,y,z, you can’t know that. This is the reverse mapping to allow for that
- Parameters:
- Return type:
None
- _register_late_injection(
- task: doot.workflow._interface.TaskName_p,
- inject: doot.workflow._interface.InjectSpec_i,
- parent: doot.workflow._interface.TaskName_p,
Register an injection to run on task initialisation, using the state injection’s from its parent
- Parameters:
parent (doot.workflow._interface.TaskName_p)
- Return type:
None
- class doot.control.tracker.registry._Instantiation_m(*, tracker: WorkflowTracker_p)[source]
Bases:
doot.control.tracker._interface.Registry_d- Parameters:
tracker (WorkflowTracker_p)
- instantiate_spec(
- name: Abstract[doot.workflow._interface.TaskName_p],
- *,
- force: jgdv.Maybe[int | bool] = None,
- extra: jgdv.Maybe[dict | jgdv.structs.chainguard.ChainGuard] = None,
- Convert an Asbtract Spec into a Concrete Spec,
Reuses a existing concrete spec if possible.
If force=True, forces a new instance to be made if force=False, blocks new instances from being made
- Parameters:
name (Abstract[doot.workflow._interface.TaskName_p])
extra (jgdv.Maybe[dict | jgdv.structs.chainguard.ChainGuard])
- Return type:
jgdv.Maybe[Concrete[doot.workflow._interface.TaskName_p]]
- instantiate_relation(
- rel: doot.workflow._interface.RelationSpec_i,
- *,
- control: Concrete[doot.workflow._interface.TaskName_p],
- find a matching relation according to constraints,
or create a new instance if theres no constraints/no match
returns the concrete TaskName_p of the instanced target of the relation
- Parameters:
control (Concrete[doot.workflow._interface.TaskName_p])
- Return type:
Concrete[doot.workflow._interface.TaskName_p]
- make_task(
- name: Concrete[doot.workflow._interface.TaskName_p],
- *,
- task_obj: jgdv.Maybe[doot.workflow._interface.Task_i] = None,
Build a Concrete Spec’s Task object, then register it if a task_obj is provided, store that instead
return the name of the task
- Parameters:
name (Concrete[doot.workflow._interface.TaskName_p])
task_obj (jgdv.Maybe[doot.workflow._interface.Task_i])
- Return type:
Concrete[doot.workflow._interface.TaskName_p]
- class doot.control.tracker.registry._Verification_m(*, tracker: WorkflowTracker_p)[source]
Bases:
doot.control.tracker._interface.Registry_d- Parameters:
tracker (WorkflowTracker_p)
- class doot.control.tracker.registry.TrackRegistry(*args, **kwargs)[source]
Bases:
doot.control.tracker._interface.Registry_dStores and manipulates specs, tasks, and artifacts
- _delayed_blockers
- get_status(
- target: Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i],
Get the status of a target or artifact
- Parameters:
target (Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i])
- Return type:
tuple[doot.workflow._interface.TaskStatus_e | doot.workflow._interface.ArtifactStatus_e, int]
- set_status(
- target: Concrete[doot.workflow._interface.TaskName_p | doot.workflow._interface.Artifact_i],
- status: doot.workflow._interface.TaskStatus_e | doot.workflow._interface.ArtifactStatus_e,
update the state of a task in the dependency graph Returns True on status update, False on no task or artifact to update.
- Parameters:
- Return type: