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 run subcommand: start a fresh workflow.

Return type:

None

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 dagger workflow from its output directory.

Reloads the configuration.yaml and persisted Jobmon workflow_args written by the original dagger run invocation, applies any CLI overrides, forces the output directory to results_directory, and resumes the Jobmon workflow, skipping completed tasks.

Return type:

None

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_directory is not a resumable dagger run output (it lacks a saved configuration or the persisted workflow args).