新增: 工作流审批取消端到端(StateMachine Arc 共享 + 取消 IPC 注册表)
- StateMachine 内部 HashMap→Arc<Mutex<HashMap>>,clone 共享底层 - DagExecutor 加 state_machine() 访问器 - AppState 加 workflow_state_registry(execution_id→StateMachine) - run_workflow 注册执行器状态机 + 完成清理 - cancel_workflow_node IPC 经 execution_id 取共享引用 set_cancelled,直达 HumanNode 轮询 - 前端取消按钮 + cancelHumanApproval store 方法 - 加 clone_shares 单测验证共享语义
This commit is contained in:
@@ -33,6 +33,15 @@ impl DagExecutor {
|
||||
}
|
||||
}
|
||||
|
||||
/// 返回状态机的共享引用(Arc clone,与 NodeContext.node_status 共享底层 HashMap)
|
||||
///
|
||||
/// run_workflow 创建执行器后将其注册到 AppState 全局表,
|
||||
/// cancel_workflow_node IPC 经 execution_id 取出此引用调 set_cancelled,
|
||||
/// 写入直达运行中阻塞节点(HumanNode)的 is_cancelled 轮询。
|
||||
pub fn state_machine(&self) -> StateMachine {
|
||||
self.state_machine.clone()
|
||||
}
|
||||
|
||||
/// 执行 DAG 工作流
|
||||
///
|
||||
/// 同一拓扑层内的节点并发执行,层与层之间串行;
|
||||
|
||||
Reference in New Issue
Block a user