Skip to main content

Module workflow_compose

Module workflow_compose 

Source
Expand description

Workflow composition: combine smaller workflows into larger meta-workflows.

Provides tools for composing multiple independent workflows into a single execution unit with cross-workflow dependencies, shared variables, and unified lifecycle management.

§Example

use oximedia_workflow::workflow_compose::{MetaWorkflow, SubWorkflowRef, CrossDependency};
use oximedia_workflow::workflow::Workflow;

let ingest_wf = Workflow::new("ingest");
let transcode_wf = Workflow::new("transcode");

let mut meta = MetaWorkflow::new("full-pipeline");
let ingest_ref = meta.add_sub_workflow(ingest_wf);
let transcode_ref = meta.add_sub_workflow(transcode_wf);
meta.add_dependency(CrossDependency::new(ingest_ref, transcode_ref));

let order = meta.execution_order().expect("should succeed");
assert_eq!(order.len(), 2);

Structs§

CrossDependency
A dependency between two sub-workflows.
MetaWorkflow
A meta-workflow that composes multiple sub-workflows.
MetaWorkflowSummary
Summary of a meta-workflow’s execution state.
SubWorkflowRef
Reference handle to a sub-workflow within a meta-workflow.

Enums§

ComposeError
Error from meta-workflow operations.
SubWorkflowStatus
Execution status of a sub-workflow within the meta-workflow.