本技能的主题是“让操作幂等”(Make Operations Idempotent)。其核心要求是:设计操作时应使其无论运行多少次、从何种起点开始,都能收敛到正确的状态。每一个会改变状态的操作都应当自问:“如果它运行两次会怎样?如果上一次运行中途崩溃了会怎样?”
适用场景为设计命令、生命周期步骤或处理循环,这些操作运行在崩溃、重启和重试都属常态的环境中。资料给出的理由:如果部分状态会改变下一次运行的结果,那么每次重启都会变成一场调试。
该模式包含以下要点:
收敛式启动:扫描已有状态,清理过期的残留物,接管仍然存活的活动会话。
基于内容的清理:按内容等价性进行比较,而不是按创建顺序进行比较。
自愈锁:使用基于 PID 的过期锁检测。
幂等调度:失败的工作能干净地重新生成,每轮循环后重新产生新的输入。
资料提供的检验方法:
如果连续运行两次会发生什么?
如果上一次运行在每一个可能的位置都崩溃了会发生什么?
重新执行是否会收敛到相同的最终状态?
如果任一答案属于“取决于遗留了什么状态”,则该操作需要一个对账步骤。
关于该技能的具体安装命令、代码示例、适用平台、是否收费及其他实现细节,资料暂未提供。