关于 principle-make-operations-idempotent
一项软件开发技能,指导设计可重复执行、崩溃后可恢复并最终收敛到目标状态的变更操作,并提供协调模式与重跑检查方法。
主要功能
- 01设计可收敛的操作
- 02考虑重试与崩溃情况
- 03采用过期状态清理模式
- 04检查多次执行时的行为
适用场景
- 01确保启动流程可重复执行
- 02处理被中断的处理循环
- 03设计可重试的生命周期命令
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hachej/ boring-stack --skill principle-make-operations-idempotent安装后在 Claude Code 中输入/principle-make-operations-idempotent确认已加载。
附带文件LICENSE
详细介绍
让操作具有幂等性
设计操作时,应确保无论运行多少次或从何种状态开始,最终都会收敛到正确状态。每个会改变状态的操作都应回答:“如果运行两次会怎样?如果上一次运行中途崩溃会怎样?”
原因: 命令、生命周期操作和处理循环都运行在崩溃、重启和重试很常见的环境中。如果部分状态会改变下一次运行的结果,每次重启都会变成一次调试任务。
模式:
- 收敛式启动:扫描现有状态、清理过时的产物、接管仍在运行的会话
- 基于内容的清理:按内容是否等效进行比较,而非按创建顺序
- 自愈锁:使用基于 PID 的过期锁检测
- 幂等调度:失败的工作可干净地重新生成;每个周期后重新生成最新输入
测试:
- 如果连续运行两次,会怎样?
- 如果上一次运行在任何可能的时点崩溃,会怎样?
- 重新执行是否会收敛到相同的最终状态?
如果任何一个问题的答案是“这取决于留下了什么状态”,那么该操作就需要一个协调步骤。
评论
支持 Markdown