节点执行流程
目录
节点生命周期
完整生命周期图
┌─────────────────────────────────────────────────────────────┐
│ 1. 创建阶段 (Creation) │
│ NodeRegistry.create_node() │
│ └─> NodeBase.__init__() │
└────────────────────┬────────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. 初始化阶段 (Initialization) │
│ node.start() │
│ ├─> initialize_state_store() │
│ ├─> initialize_message_queue() │
│ └─> set_status(PENDING) │
└────────────────────┬────────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. 等待信号阶段 (Waiting for Signals) │
│ ├─> 启动信号消费者 consume() │
│ ├─> 接收上游信号 _on_signal_received() │
│ ├─> 更新输入信号状态 │
│ └─> 检查是否所有信号就绪 can_execute() │
└────────────────────┬────────────────────────────────────────┘
│
↓ (所有信号就绪)
┌─────────────────────────────────────────────────────────────┐
│ 4. 执行阶段 (Execution) │
│ set_status(RUNNING) │
│ └─> execute() [子类实现] │
└────────────────────┬────────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────────────────┐
│ 5. 信号发送阶段 (Signal Emission) │
│ send_signal(handle, signal_type, payload) │
│ └─> 下游节点接收信号 │
└────────────────────┬────────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────────────────┐
│ 6. 完成阶段 (Completion) │
│ ├─> set_status(COMPLETED / FAILED / TERMINATED) │
│ └─> 更新任务状态到 Redis │
└────────────────────┬────────────────────────────────────────┘
│
↓
┌─────────────────────────────────────────────────────────────┐
│ 7. 清理阶段 (Cleanup) │
│ cleanup() │
│ ├─> close_message_queue() │
│ └─> close_state_store() │
└─────────────────────────────────────────────────────────────┘状态转换图
节点创建流程
创建入口
节点实例化
NodeBase 构造函数
信号等待机制
信号就绪检查
等待信号流程
信号接收处理
节点执行流程
执行方法签名
典型执行模式
模式 1:数据处理节点
模式 2:条件判断节点
模式 3:交易执行节点
信号发送机制
发送信号
获取输入信号
异常处理
异常类型
异常处理流程
资源清理
清理流程
强制终止
开发新节点
最小节点模板
开发清单
下一步
Last updated