dootle.control.fsm.task
An FSM b acked Task and job
Classes
The implementation of a task, as the domain model for a TaskMachine |
|
Extends an FSMTask for running a job |
Module Contents
- class dootle.control.fsm.task._Predicates_m
- spec: doot.workflow.TaskSpec
- name: doot.workflow._interface.TaskName_p
- spec_missing(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
cancels the task if the spec is not registered
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
- should_disable(
- source: statemachine.State,
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
cancels the task if the spec is disabled
- Parameters:
source (statemachine.State)
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
- should_wait(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
if any dependencies have not run, delay this task
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
- should_skip(source: statemachine.State) bool
run a task’s depends_on group, coercing to a bool returns False if the runner should skip the rest of the task
- Parameters:
source (statemachine.State)
- Return type:
- class dootle.control.fsm.task._Callbacks_m
-
- name: doot.workflow._interface.TaskName_p
- spec: doot.workflow.TaskSpec
- on_exit_state(*, source: Any) None
Keep track of the progression of the task
- Parameters:
source (Any)
- Return type:
None
- on_enter_INIT(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- parent: jgdv.Maybe[doot.workflow._interface.TaskName_p] = None,
initialise _internal_state, possibly run injections?
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
parent (jgdv.Maybe[doot.workflow._interface.TaskName_p])
- Return type:
None
- on_enter_RUNNING(
- *,
- step: int,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
step (int)
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- on_exit_RUNNING(
- *,
- step: int,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
step (int)
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- on_exit_TEARDOWN(
- *,
- source: Any,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
source (Any)
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- on_enter_SUCCESS(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- on_enter_FAILED(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- on_enter_HALTED(
- *,
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
- Return type:
None
- _get_parent_data(
- tracker: doot.control.tracker._interface.WorkflowTracker_p,
- parent: jgdv.Maybe[doot.workflow._interface.TaskName_p],
- Parameters:
tracker (doot.control.tracker._interface.WorkflowTracker_p)
parent (jgdv.Maybe[doot.workflow._interface.TaskName_p])
- Return type:
jgdv.Maybe[dict]
- class dootle.control.fsm.task.FSMTask(spec: doot.workflow.TaskSpec)
The implementation of a task, as the domain model for a TaskMachine
- Parameters:
spec (doot.workflow.TaskSpec)
- spec: doot.workflow.TaskSpec
- status: doot.workflow._interface.TaskStatus_e
- property name: doot.workflow.TaskName
- Return type:
doot.workflow.TaskName
- _execute_action_group( ) tuple[int, doot.workflow._interface.ActionResponse_e]
Execute a group of actions, possibly queue any task specs they produced, and return a count of the actions run + the result
- _execute_action(
- count: int,
- action: doot.workflow.ActionSpec,
- *,
- group: jgdv.Maybe[str] = None,
- lock_state: bool = False,
Run the given action of a specific task.
returns either a list of specs to (potentially) queue, or an ActRE describing the action result.
- class dootle.control.fsm.task.FSMJob(spec: doot.workflow.TaskSpec)
Bases:
FSMTaskExtends an FSMTask for running a job
- Parameters:
spec (doot.workflow.TaskSpec)