dagger Runner
The main process loop for dagger run invocations: parse the
workflow configuration, build the Jobmon workflow, bind and run it,
and notify on completion.
- vivarium.cluster_tools.dagger.runner.run_workflow(workflow_config, verbose=0, slack_channel=None, slack_tag=None, mute_slack=False)[source]
Entry point for the
dagger runsubcommand: start a fresh workflow.- Return type:
- Parameters:
workflow_config (WorkflowConfig) – The parsed and validated workflow configuration (with CLI overrides applied).
verbose (int) – Verbosity level.
slack_channel (str | None) – Optional Slack channel to post a successful-run notification to instead of DMing the launching user.
slack_tag (str | None) – Optional username to @-mention in the channel notification on success.
mute_slack (bool) – If
True, suppress the completion notification entirely.
- vivarium.cluster_tools.dagger.runner.restart_workflow(results_directory, *, project=None, queue=None, max_attempts=None, verbose=0, slack_channel=None, slack_tag=None, mute_slack=False)[source]
Resume a previously started
daggerworkflow from its output directory.Reloads the
configuration.yamland persisted Jobmonworkflow_argswritten by the originaldagger runinvocation, applies any CLI overrides, forces the output directory toresults_directory, and resumes the Jobmon workflow, skipping completed tasks.- Return type:
- Parameters:
results_directory (Path) – Output directory from a previous
dagger run. The workflow’s output directory is forced to this path.project (str | None) – Override for the workflow project.
queue (str | None) – Override for the workflow queue.
max_attempts (int | None) – Override for the maximum number of Jobmon task attempts.
verbose (int) – Verbosity level.
slack_channel (str | None) – Optional Slack channel to post a successful-run notification to instead of DMing the launching user.
slack_tag (str | None) – Optional username to @-mention in the channel notification on success.
mute_slack (bool) – If
True, suppress the completion notification entirely.
- Raises:
FileNotFoundError – If
results_directoryis not a resumabledagger runoutput (it lacks a saved configuration or the persisted workflow args).