Crate flowbuilder

Source
Expand description

§FlowBuilder - Async Flow Orchestration Framework

FlowBuilder is a modular async flow orchestration framework with conditional execution and context sharing.

§Features

  • core (default): Core flow building functionality
  • macros: Procedural macros for easier flow definition
  • logger: Tracing and logging support
  • runtime: Advanced runtime features
  • full: All features enabled

§Quick Start

use flowbuilder::prelude::*;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let flow = FlowBuilder::new()
        .step(|ctx| async move {
            println!("Step 1 executed");
            Ok(())
        })
        .step(|ctx| async move {
            println!("Step 2 executed");
            Ok(())
        })
        .build();

    flow.execute().await?;
    Ok(())
}

Re-exports§

pub use flowbuilder_context as context;
pub use flowbuilder_runtime as runtime;runtime
pub use flowbuilder_yaml as yaml;yaml

Modules§

prelude
Prelude module for easy imports

Structs§

ActionSpec
动作规格
ExecutionNode
执行节点 - 最小的执行单元
ExecutionPhase
执行阶段 - 可以串行或并行执行的任务组
ExecutionPlan
执行计划 - 编排器生成的执行顺序
Flow
Represents a flow that can be executed
FlowBuilder
Builder for creating flows with a fluent API
FlowExecutor
Executes flow steps
PlanMetadata
计划元数据
RetryConfig
重试配置
TimeoutConfig
超时配置

Enums§

ExecutorStatus
执行器状态
NodeType
节点类型
PhaseExecutionMode
阶段执行模式
RetryStrategy
重试策略

Traits§

ConfigParser
配置解析器接口
Executor
执行器接口 - 所有执行器都必须实现这个接口
ExpressionEvaluator
表达式评估器接口
FlowPlanner
流程编排器接口

Type Aliases§

Step
StepFuture
Type alias for step functions