.. _dootle.control.fsm._interface: ============================= dootle.control.fsm._interface ============================= .. py:module:: dootle.control.fsm._interface Protocols --------- .. autoapisummary:: dootle.control.fsm._interface.TaskModel_Conditions_p dootle.control.fsm._interface.TaskModel_Callbacks_p dootle.control.fsm._interface.TaskModel_p dootle.control.fsm._interface.ArtifactModel_p Module Contents =============== .. _dootle.control.fsm._interface.TaskModel_Conditions_p: .. py:class:: TaskModel_Conditions_p Bases: :py:obj:`Protocol` The conditions a TaskTrackFSM calls .. py:method:: spec_missing(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> bool .. py:method:: should_disable(source: statemachine.State, *, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> bool .. py:method:: should_wait(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> bool .. py:method:: should_timeout() -> bool .. py:method:: should_skip() -> bool .. py:method:: should_halt() -> bool .. py:method:: should_fail() -> bool .. py:method:: state_is_needed(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> bool .. _dootle.control.fsm._interface.TaskModel_Callbacks_p: .. py:class:: TaskModel_Callbacks_p Bases: :py:obj:`Protocol` Describes the callbacks for the FSM of a task .. py:method:: on_enter_INIT(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> None .. py:method:: on_enter_RUNNING(*, step: int, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> None .. py:method:: on_enter_HALTED(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> None .. py:method:: on_enter_FAILED(*, tracker: doot.control.tracker._interface.WorkflowTracker_p) -> None .. py:method:: on_exit_TEARDOWN() -> None .. _dootle.control.fsm._interface.TaskModel_p: .. py:class:: TaskModel_p Bases: :py:obj:`TaskModel_Callbacks_p`, :py:obj:`TaskModel_Conditions_p`, :py:obj:`Protocol` Combines the TaskModel Conditions and Callbacks protocols .. _dootle.control.fsm._interface.ArtifactModel_p: .. py:class:: ArtifactModel_p Bases: :py:obj:`Protocol` Describes the callbacks for an FSM of a task .. py:method:: is_stale() -> bool .. py:method:: should_clean() -> bool .. py:method:: does_exist() -> bool