返回工作流常见问题
帮助中心 · 常见问题工作流1 分钟阅读

工作流触发器多次触发时,如何避免重复工作?

设计步骤以识别工作是否已经完成,并在手动重试前查看运行历史。否则,重复触发可能再次产生外部影响。

工作流

确定重复可能发生的位置

触发事件可能再次送达,用户可能启动另一轮运行,或者前一次尝试在结果显示前超时。如果工作流会发送消息、创建记录或更新其他服务,第二次运行可能重复这些影响。决定处理方式前,先找出会改变外部状态的步骤。

使用事件关联的稳定业务标识,例如订单或请求编号,在重新创建前查询是否已经处理。除非系统明确保证,否则不要把临时运行标识当作长期业务键。

测试重复和延迟事件

使用同一事件进行受控测试,运行两次并确认第二次不会创建意外副本。还要测试事件延迟到达,以及外部操作成功后、工作流记录结果前发生失败的情况。

记录事件引用和处理结果,便于区分重放与新任务。如果确实出现重复,应停止进一步重试,并先核对外部系统,再手动修正数据。应明确设计恢复流程,不要假设每个触发器只会送达一次。

返回工作流常见问题