SuperAPI AI 工具集

principle-make-operations-idempotent

通用与其它

查看项目

更新于 10-16 10:55

技能介绍

让操作具备幂等性

该原则的核心是:设计操作时,使其无论运行多少次、从哪个起点开始,都能收敛到正确的状态。每一个会改变状态的操作都应回答两个问题:“如果它运行两次会怎样?如果上一次运行中途崩溃了会怎样?”

为什么重要:命令、生命周期操作和处理循环所处的运行环境,崩溃、重启与重试都是常态。如果残留的部分状态会改变下一次运行的结果,那么每次重启都会变成一场调试。

模式要点:

  • 收敛式启动:扫描已有状态,清理陈旧产物,接管(adopt)仍活跃的会话。
  • 基于内容的清理:按内容等价性比较,而非按创建顺序比较。
  • 自愈锁:使用基于 PID 的过期锁检测。
  • 幂等调度:失败的工作能被干净地重新生成,每轮循环后重新生成新的输入。

检验方式:

  • 如果它连续运行两次会怎样?
  • 如果上一次在每一个可能的点崩溃会怎样?
  • 重新执行是否收敛到同一个终态?

如果任一答案是“取决于遗留了什么状态”,那么这个操作就需要一个对账(reconciliation)步骤。

分类判定:该技能聚焦于命令、生命周期与处理循环在崩溃、重启、重试下的状态收敛设计原则,属于通用工程实践范畴,暂未提供更具体的平台或使用步骤。