mcpField
P
principle-make-operations-idempotent

principle-make-operations-idempotent

github.com/poteto开发161103 次安装22 周前更新
代码仓库

关于 principle-make-operations-idempotent

一项编码 Skill,指导将状态变更操作设计为在重试、重启或部分失败后仍收敛到相同的正确状态。适用于构建可靠命令、生命周期操作和处理循环的开发者。

主要功能

  1. 01让重复运行收敛到一致状态
  2. 02启动时协调现有状态
  3. 03按内容等价性清理
  4. 04通过 PID 检测过期锁
  5. 05失败后重新生成处理任务

适用场景

  1. 01让命令可安全重试
  2. 02从崩溃中恢复操作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/poteto/plugins --skill principle-make-operations-idempotent

安装后在 Claude Code 中输入/principle-make-operations-idempotent确认已加载。

详细介绍

让操作具有幂等性

设计操作时,应确保无论运行多少次或从何种状态开始,最终都会收敛到正确状态。每个会改变状态的操作都应回答:“如果运行两次会怎样?如果上一次运行中途崩溃会怎样?”

原因: 命令、生命周期操作和处理循环都运行在崩溃、重启和重试很常见的环境中。如果部分状态会改变下一次运行的结果,每次重启都会变成一次调试任务。

模式:

  • 收敛式启动:扫描现有状态、清理过时的产物、接管仍在运行的会话
  • 基于内容的清理:按内容是否等效进行比较,而非按创建顺序
  • 自愈锁:使用基于 PID 的过期锁检测
  • 幂等调度:失败的工作可干净地重新生成;每个周期后重新生成最新输入

测试:

  1. 如果连续运行两次,会怎样?
  2. 如果上一次运行在任何可能的时点崩溃,会怎样?
  3. 重新执行是否会收敛到相同的最终状态?

如果任何一个问题的答案是“这取决于留下了什么状态”,那么该操作就需要一个协调步骤。

评论

支持 Markdown