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§
- Cross
Dependency - A dependency between two sub-workflows.
- Meta
Workflow - A meta-workflow that composes multiple sub-workflows.
- Meta
Workflow Summary - Summary of a meta-workflow’s execution state.
- SubWorkflow
Ref - Reference handle to a sub-workflow within a meta-workflow.
Enums§
- Compose
Error - Error from meta-workflow operations.
- SubWorkflow
Status - Execution status of a sub-workflow within the meta-workflow.