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

Canonical URL: https://help.iagenify.com/zh/faqs/workflows/how-should-i-prevent-duplicate-work-when-a-workflow-retries

[← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)

帮助中心 · 常见问题 工作流 1 分钟阅读
# 工作流重试时如何避免重复执行？
临时故障时重试很有用，但同一事件可能重复送达，超时也可能掩盖首次执行已成功的事实。应设计工作流，使重复投递不会产生重复副作用。
IaGenify
工作流

## 为操作分配稳定标识
使用在重试期间保持不变的事件或请求标识。创建付款、工单、通知或记录前，检查该标识是否已处理；适当时直接返回先前结果。
确保检查和写入能够安全应对并发。两个工作进程同时处理事件时，简单的先读后写可能发生竞争；应使用数据存储支持的原子机制或唯一约束。
## 让重试可观察且有上限
记录尝试次数、事件标识和最终结果，但不要记录机密。区分暂时故障与永久验证错误，避免对无法原样成功的工作反复重试。
设置重试上限，并为耗尽的任务提供可审查的失败路径。修复后应能检查并安全重放，同时保留原标识，避免重复已完成的副作用。 [← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)
