Skip to main content

validate_workflow_graph

Function validate_workflow_graph 

Source
pub fn validate_workflow_graph(
    executors: &HashMap<String, Arc<dyn Executor>>,
    edge_groups: &[EdgeGroup],
    start: &str,
    output_executors: &[String],
    intermediate_executors: &[String],
) -> Result<(), WorkflowValidationError>
Expand description

Validate a workflow graph. Rust analogue of validate_workflow_graph.

Checks, in order:

  1. the start executor is registered;
  2. every edge references a registered executor;
  3. no directed (source, target) edge is duplicated;
  4. every executor is reachable from the start node;
  5. the workflow-output designation (output_executors/ intermediate_executors) does not overlap and only names known executors.