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

工作流重试时如何避免重复执行?

临时故障时重试很有用,但同一事件可能重复送达,超时也可能掩盖首次执行已成功的事实。应设计工作流,使重复投递不会产生重复副作用。

工作流

为操作分配稳定标识

使用在重试期间保持不变的事件或请求标识。创建付款、工单、通知或记录前,检查该标识是否已处理;适当时直接返回先前结果。

确保检查和写入能够安全应对并发。两个工作进程同时处理事件时,简单的先读后写可能发生竞争;应使用数据存储支持的原子机制或唯一约束。

让重试可观察且有上限

记录尝试次数、事件标识和最终结果,但不要记录机密。区分暂时故障与永久验证错误,避免对无法原样成功的工作反复重试。

设置重试上限,并为耗尽的任务提供可审查的失败路径。修复后应能检查并安全重放,同时保留原标识,避免重复已完成的副作用。

返回工作流常见问题