.. _doot.control.runner.util: ======================== doot.control.runner.util ======================== .. py:module:: doot.control.runner.util Classes ------- .. autoapisummary:: doot.control.runner.util._RunnerCtx_m doot.control.runner.util._RunnerHandlers_m Module Contents =============== .. doot.control.runner.util._RunnerCtx_m: .. py:class:: _RunnerCtx_m(*args, **kwargs) Mixin for a runner that adds ctx manager functionality .. py:attribute:: _signal_failure :type: jgdv.Maybe[doot.errors.DootError] .. py:attribute:: _enter_msg .. py:attribute:: _exit_msg .. py:method:: _finish() -> None finish running tasks, summarizing results using the reporter separate from __exit__ to allow it to be overridden .. doot.control.runner.util._RunnerHandlers_m: .. py:class:: _RunnerHandlers_m Mixin for runners with default handlers .. py:attribute:: _signal_failure :type: jgdv.Maybe[doot.errors.DootError] .. py:method:: handle_success(task: _RunnerHandlers_m.handle_success.T) -> _RunnerHandlers_m.handle_success.T The basic success handler. just informs the tracker of the success .. py:method:: handle_failure(failure: Exception) -> None The basic failure handler. Triggers a breakpoint on Interrupt, otherwise informs the tracker of the failure. Halts any failed or errored tasks, which propagates to any successors Fails any DootErrors, TrackingErrors, and non-doot errors the tracker handle's clearing itself and shutting down .. py:method:: notify_artifact(art: doot.workflow.TaskArtifact) -> None A No-op for when the tracker gives an artifact .. py:method:: sleep_after(task: jgdv.Maybe[doot.workflow._interface.Task_p | doot.workflow._interface.Artifact_i]) -> None The runner's sleep method, which spaces out tasks