Flow 调度机制

文档版本: 1.0.0 最后更新: 2025-10-06 前置阅读: 架构概述, 节点执行流程


目录


调度器架构

FlowScheduler 核心职责

class FlowScheduler:
    """
    Flow 调度器:负责管理 Flow 的周期性执行和状态跟踪
    
    主要功能:
    1. Flow 的注册、启动、停止
    2. 周期性调度执行
    3. DAG 结构分析和连通分量识别
    4. 节点状态管理和查询
    5. 执行日志持久化
    """

调度器生命周期

单例模式


Flow 注册

注册流程

Weather Syntax 配置结构


DAG 分析

FlowParser 核心功能

连通分量识别

算法: 广度优先搜索(BFS)

环检测(DAG 验证)

算法: 深度优先搜索(DFS)+ 三色标记法

Entry Nodes 识别

结构分析结果

示例结果:


周期调度

调度循环

执行时机控制

Interval 值
行为
用途

0

执行一次后停止

一次性任务

60

每 60 秒执行一次

定时任务

300

每 5 分钟执行一次

周期监控

3600

每小时执行一次

定期报告


Cycle 执行

Cycle 执行流程


节点编排

Component 执行

节点执行调度


状态管理

Flow 状态查询

Cycle 状态查询

综合状态查询


日志系统

日志持久化

日志清理


总结

调度器设计亮点

  1. 并发执行:连通分量并行执行,节点并行执行

  2. 灵活调度:支持一次性、周期性、定时执行

  3. 状态隔离:不同 Cycle 的状态完全隔离

  4. 容错能力:单个节点失败不影响其他节点

  5. 可观测性:完整的日志记录和状态查询

关键时序

下一步


维护者: TradingFlow 开发团队 版本历史:

  • v1.0.0 (2025-10-06): 初始版本

Last updated