执行记录与诊断
执行记录回答“这一次具体发生了什么”。每条运行固定关联一个工作流版本,并保存输入快照、状态、时间以及节点级执行证据。
查看执行记录
从“设置 → 自动化 → 工作流执行”查看所有运行。列表支持按工作流标题和状态筛选,展示运行 ID、工作流标题、触发时间、状态和耗时。当前状态筛选器提供运行中、已完成、失败和错误;排队中与已中止仍会显示在未筛选列表中,但没有独立筛选项。
也可以从工作流列表或详情点击运行次数,查看该业务流程最近的执行记录。排查问题时先记录运行 ID,以免把相似时间的其他运行混在一起。
理解运行状态
短暂排队是异步执行的正常状态。长时间不变化时,将运行 ID 和时间反馈给开发者检查后台执行服务。
“已完成”说明工作流状态机正常结束,不自动证明每个外部系统都达成最终业务目标;重要副作用仍应核对领域数据。
查看执行详情
点击运行后,详情页显示:
- 工作流标题和本次使用的版本;
- 触发时间、总耗时和整体状态;
- 带执行状态叠加的流程图;
- 本次输入快照;
- 实际到达的节点。
详情必须按运行自己的版本解释。开发者后来发布的新版本不会改变这里的路径和输入。
查看节点尝试和载荷
点击已执行节点可以查看:
- 节点标题与开发者说明;
- 当前显示的尝试;
- 结果;
- 错误;
- 节点日志;
- 是否因体积过大而截断。
系统会对常见秘密字段和日志片段进行脱敏,并对过大的结果、错误或日志截断。脱敏和截断是安全与存储保护,不表示原始业务一定为空。需要更完整证据时,把运行 ID、节点和时间交给开发者关联服务端日志,不要关闭脱敏。
同一节点可能有多次尝试。诊断当前结果时先看最新尝试,并按时间比较各次状态。
推荐的诊断顺序
- 确认整体运行状态和实际使用的版本;
- 查看本次运行的实际路径;
- 找到第一个失败的叶子节点;
- 查看该节点最新一次尝试的结果、错误和日志;
- 记录内容是否经过脱敏或截断;
- 将运行证据交给应用开发者判断恢复方式。
父 Condition 可能因为其分支中的 Run 节点失败而显示失败。先检查最深层的失败节点,避免把传播状态误当根因。
向应用开发者反馈什么
至少提供:
- 工作流名称;
- 运行 ID;
- 工作流版本;
- 触发时间;
- 是否为手动运行;
- 整体状态和原因;
- 第一个失败节点及尝试;
- 错误摘要;
- 结果或日志是否脱敏、截断。
不要在聊天或工单中复制密码、Token、Cookie 或完整敏感输入。
恢复原则
- 参数错误:修正参数后,由业务负责人判断是否创建新运行;
- 输入错误:历史输入不可改,确认副作用后再用正确输入发起新运行;
- 代码错误:开发者修复、测试并发布新版本;
- 暂时性故障:由开发者或业务负责人判断是否按原业务事件安全重试;
- 已经发生部分副作用:执行显式补偿,而不是删除历史记录。
诊断请求本身不应自动重跑、启停或修改数据。这些恢复动作需要单独确认影响。
常见问题
排队时间较长是否一定是故障
不一定。短暂等待正常;持续排队时,把运行 ID 和时间反馈给开发者检查后台执行服务及队列。
失败、错误和中止有什么区别
失败通常是明确的业务或指令失败;错误是执行异常;中止表示运行被停止,超时是常见原因。以具体节点错误、运行 reason 和日志为准。
为什么父节点失败而真正错误在子节点
分支子节点失败会向父 Condition 和整个运行传播。第一个失败的叶子节点通常最接近根因。
为什么一个节点存在多次尝试
重跑或恢复可能产生多次节点尝试。不要默认第一条就是当前结果,应按时间查看全部尝试。
为什么结果或日志不完整
内容可能经过秘密脱敏或体积截断。界面会显示截断提示;需要时由开发者关联结构化日志。
为什么流程结束后部分节点仍显示 Pending
如果 Terminate 在 Condition 的分支内结束整个流程,父 Condition 可能未完成正常恢复步骤。结合 Terminate 节点和整体终态判断,不要仅凭父节点状态认定卡死。

