运行模式
DeskFlux 工作流引擎提供两种核心运行模式,以适应不同场景下的执行需求。用户可根据工作流的复杂度、节点依赖关系以及对执行效率的要求,选择合适的模式。
模式概览
| 模式 | 执行方式 | 错误处理 | 适用场景 | 核心优势 |
|---|---|---|---|---|
| 顺序执行 | 严格按节点定义顺序,单线程从上至下。 | 遇错即停,中断整个工作流。 | 流程简单、节点间存在强依赖、需严格保证执行顺序。 | 逻辑清晰,易于调试和追踪。 |
| 智能并行 | 引擎智能分析依赖,对可并行节点启用多线程执行。 | 可配置为跳过错误节点继续执行后续独立任务。 | 流程复杂、包含大量独立或耗时任务、追求极致执行效率。 | 大幅缩短整体运行时间,充分利用系统。 |

模式详解
1. 顺序执行
此为默认执行模式。引擎将工作流视为一个线性序列,严格按照节点在画布上的排列顺序(通常为从上至下)依次执行。当前一节点成功完成后,才会触发下一节点的执行。
核心逻辑流程如下:
flowchart TD
Start["🚀 开始执行工作流"] --> A
subgraph SG1 ["📋 顺序执行引擎"]
direction TB
A["📌 读取第一个节点"]
A --> B{"⚡ 执行当前节点"}
B -->|"✅ 成功"| C["➡️ 推进至下一个节点"]
C --> D{"🏁 是否最后一个节点?"}
D -->|"❌ 否"| B
D -->|"✅ 是"| E["🎉 流程结束"]
B -->|"❌ 失败/报错"| F["🛑 立即停止工作流<br>并抛出错误"]
end
F --> G["📄 输出错误报告"]
E --> H["✅ 输出执行成功报告"]
G --> I["📊 记录至执行历史"]
H --> I
I --> J["🏁 工作流终止"]
style Start fill:#e8f5e9,stroke:#43a047,stroke-width:2px
style SG1 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#0d47a1
style A fill:#bbdefb,stroke:#1976d2,stroke-width:1.5px
style B fill:#fff8e1,stroke:#f57c00,stroke-width:2px,color:#e65100
style C fill:#e1bee7,stroke:#8e24aa,stroke-width:1.5px
style D fill:#fff8e1,stroke:#f57c00,stroke-width:2px
style E fill:#c8e6c9,stroke:#43a047,stroke-width:2px
style F fill:#ffcdd2,stroke:#e53935,stroke-width:2px,color:#b71c1c
style G fill:#ffebee,stroke:#e53935,stroke-width:1.5px
style H fill:#e8f5e9,stroke:#43a047,stroke-width:1.5px
style I fill:#e0e0e0,stroke:#757575,stroke-width:1.5px
style J fill:#9e9e9e,stroke:#616161,stroke-width:2px,color:#ffffff
特点总结:
- 强顺序性**:执行路径唯一且确定。
- 简单可靠:易于理解、构建和问题定位。
- 资源保守:单线程运行,占用系统资源较少。
2. 智能并行
在此模式下,执行引擎会在运行前对工作流进行静态分析,构建节点依赖关系图。无依赖关系的节点将被调度至不同的线程中同时执行,从而显著提升整体效率。
并行分析及执行流程:
flowchart TD
Start["🚀 开始执行工作流"] --> A["📋 解析工作流所有节点"]
subgraph SG1 ["🧠 智能分析阶段"]
direction LR
A --> B["🔗 构建节点依赖关系图"]
B --> C["🔍 识别可并行执行的节点组"]
end
C --> D["📤 将节点组提交至线程池"]
subgraph SG2 ["⚡ 多线程调度执行"]
direction TB
D --> E{"🔄 并发执行<br>所有可并行节点"}
E --> F{"📊 节点执行状态"}
F -->|"✅ 全部成功"| G["▶️ 触发后续依赖节点"]
F -->|"❌ 存在失败"| H["⚠️ 根据用户配置决定<br>(继续或停止)"]
end
G --> I{"🏁 是否为最终节点?"}
I -->|"❌ 否"| D
I -->|"✅ 是"| J["🎉 流程结束"]
H --> J
style Start fill:#e8f5e9,stroke:#43a047,stroke-width:2px
style SG1 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
style SG2 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
style J fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
style F fill:#fff8e1,stroke:#f57c00,stroke-width:2px
style I fill:#fff8e1,stroke:#f57c00,stroke-width:2px
style H fill:#ffebee,stroke:#e53935,stroke-width:2px
关键机制:
- 依赖分析:引擎自动识别节点间的数据输入输出关系,确定执行顺序。
- 线程池管理:动态管理并发线程数量,避免过度消耗系统资源。
- 灵活容错:用户可在工作流或节点级别配置遇到错误时的行为(如停止、跳过、重试)。
模式选择建议
| 考量因素 | 推荐选择顺序执行 | 推荐选择智能并行 |
|---|---|---|
| 工作流结构 | 线性、步骤简单 | 分支多、存在独立块 |
| 执行目标 | 稳定性、可预测性 | 执行速度、吞吐量 |
| 资源环境 | CPU/内存资源有限 | 多核CPU,资源充足 |
| 调试需求 | 高,需逐步跟踪 | 低,或已有完善日志 |
配置与切换
工作流的运行模式可在其 “工作流配置” 面板中进行设置:
- 工作流编辑页面中
- 在 “运行模式” 下拉菜单中选择 “顺序执行” 或 “智能并行”。
提示:对于初次创建或调试阶段的工作流,建议先使用 “顺序执行” 模式确保逻辑正确,再切换至 “智能并行” 模式进行性能优化。