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

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

为每个传入事件分配稳定标识,并在执行外部副作用前检查该事件是否已处理。这样可以降低重复投递或手动重试导致记录、消息或外部操作重复的风险。

工作流

使用事件键并记录处理状态

触发源可能在超时或确认异常后再次发送同一事件。请将幂等键或已处理事件记录存储在持久位置,供后续运行检查。

只有在预期工作已提交后,才能将事件标记为完成。如果处理分为多个阶段,请记录每阶段状态,让重试可以安全续跑,而不是把部分处理的事件当成新事件。

处理并发重复投递

两个运行实例可能几乎同时检查同一个事件。请使用唯一约束、原子占用或数据存储支持的其他协调机制,避免它们在任一实例记录完成前都通过检查。

使用安全样例测试重复和并发投递,并检查最终状态。事件键的保留时间应覆盖来源的重试窗口,但不要不必要地长期保存完整载荷。

返回工作流常见问题