# 如何避免工作流重复处理同一个触发事件？

Canonical URL: https://help.iagenify.com/zh/faqs/workflows/how-can-a-workflow-avoid-processing-the-same-trigger-event-twice

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

帮助中心 · 常见问题 工作流 1 分钟阅读
# 如何避免工作流重复处理同一个触发事件？
为每个传入事件分配稳定标识，并在执行外部副作用前检查该事件是否已处理。这样可以降低重复投递或手动重试导致记录、消息或外部操作重复的风险。
IaGenify
工作流

## 使用事件键并记录处理状态
触发源可能在超时或确认异常后再次发送同一事件。请将幂等键或已处理事件记录存储在持久位置，供后续运行检查。
只有在预期工作已提交后，才能将事件标记为完成。如果处理分为多个阶段，请记录每阶段状态，让重试可以安全续跑，而不是把部分处理的事件当成新事件。
## 处理并发重复投递
两个运行实例可能几乎同时检查同一个事件。请使用唯一约束、原子占用或数据存储支持的其他协调机制，避免它们在任一实例记录完成前都通过检查。
使用安全样例测试重复和并发投递，并检查最终状态。事件键的保留时间应覆盖来源的重试窗口，但不要不必要地长期保存完整载荷。 [← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)
