# 工作流何时应使用补偿操作？

Canonical URL: https://help.iagenify.com/zh/faqs/workflows/when-should-a-workflow-use-a-compensating-action

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

帮助中心 · 常见问题 工作流 1 分钟阅读
# 工作流何时应使用补偿操作？
补偿操作是在多步骤流程无法作为单一事务回滚时，用新的业务操作抵消先前步骤。它适用于分布式工作流，但不会抹去历史，也未必能完全逆转原始影响。
IaGenify
工作流

## 判断哪些操作可撤销
列出每一步的副作用、是否可逆及可撤销时间窗口。数据库写入可能可逆；已发送邮件、外部付款或物理操作则可能需要后续补救，而非真正回滚。
与业务负责人定义补偿行为，例如退款还是撤销、取消还是删除，或写入更正记录。确保操作具备幂等性并关联原始操作，避免重试时重复补偿。
## 让恢复状态清晰可见
使用关联标识记录原始步骤、补偿尝试和最终状态。若补偿失败，应进入可审查状态，而不是把整个流程标记成功或悄悄放弃。
测试每个边界上的故障，包括原始副作用已成功但响应尚未保存的情况。记录哪些结果需要人工审查，以及操作人员如何安全恢复流程。 [← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)
