测试、迁移或高频运行的数据流会产生大量历史实例。如果这些实例已经不再需要保留,逐个删除效率很低,因此需要按明确的元素范围和实例状态批量清理。
删除实例会同时移除运行监控和审计记录,但不会回滚实例已经写入数据库、文件或外部系统的数据,因此只能用于已经确认可以清理的实例。
主流程负责查询需要清理实例的数据流元素,并把每个元素的编码和文件夹 ID 作为子流程启动参数;子流程负责查询该元素的实例 ID,在有数据时调用删除接口。
主流程:查询目标元素 → 组装 element_code / folder_id → 批量调用子流程
子流程:查询实例 ID → 判断是否为空 → 调用删除接口
确定允许清理的元素范围
主流程从 SystemElement 查询目标数据流,输出 element_code 和 folder_id。业务使用时应配置明确的元素白名单,避免清理范围扩大。
批量调用删除子流程
数据流节点使用批量模式调用 demo0505_Sub,每条元素记录启动一个子实例。主流程当前已正确关联 0505 的删除子流程。
查询可删除实例
子流程使用 Pipeline.params.element_code 和 Pipeline.params.folder_id 调用 /monitor/runs,并通过响应转换只保留 runId。实际项目必须按保留策略限制状态、时间和触发方式;实例超过单页上限时需要分页处理。
判断并删除
当 runId 列表非空时调用 /run/delete;为空时直接结束。建议先生成待删除清单并确认,再执行删除。
配置完成后,主流程会按目标元素分别创建删除子实例,符合条件的流程实例将从监控列表中移除,范围外的元素和实例保持不变。
回到顶部
咨询热线
