附录 C:术语与故障排查卡
| 术语 | 本书中的含义 |
|---|---|
| 提案 | 模型或规则产生的未获执行权的结构化业务建议 |
| 可执行意图 | 经准入校验、绑定工具合同并持久保存的计划 |
| 业务操作键 | 在租户范围内跨请求、尝试和进程保持稳定的业务身份 |
| 计划指纹 | 确定表示下可执行参数的哈希,用于检测意图变化 |
| 审批 | 特定主体针对特定意图与时间范围建立的执行许可 |
| 领取 | 在短事务内竞争取得当前任务执行资格 |
| 租约 | 有期限的本地占有资格,不负责终止旧进程 |
| 围栏 | 区分执行资格世代的单调编号,接收方必须实际校验才有作用 |
| 尝试预算 | 持久保存的领取机会限制,不替代事实核查 |
| ready_at | 最早允许参加领取的时间,不保证准时开始或完成 |
| unknown | 当前证据不足以裁决工具效果,需要核查或人工处理 |
| 幂等工具 | 依据明确操作键与参数合同,使重复调用收敛到同一业务效果的接收方 |
| 权威查询 | 能对原业务身份返回具有清楚可见性语义的业务结果查询 |
| 补偿 | 针对既有效果创建的另一项业务操作,不是删除历史 |
| 版本兼容 | 执行者理解持久计划语义的能力,不仅是能解析 JSON |
C.1 任务一直没有被领取
依次查询状态、ready_at、审批期限、取消请求、计划版本和尝试预算。一次领取为空也可能是候选行被锁,不能立即认定队列没有任务。必要时检查数据库连接等待和真实锁关系。
C.2 worker 收到了 stale
检查当前 owner、fence 与租约,再决定由谁核查。不要用无条件 UPDATE 覆盖,也不要通过迟到心跳复活过期资格。已有工具回执可以保留为核查材料,但不能恢复旧拥有者的权限。
C.3 客户端报错,用户却看到业务变化
按原操作键查询工具账本,核对指纹、账户、数量与回执。保持 unknown 直到证据足以裁决,不因超时就换键调用。检查本地终态事务是否失败,状态与事件是否共同回滚。
C.4 取消以后仍然显示成功
查询取消到达时的阶段和工具提交事实。如果效果已经发生,成功与取消请求可以同时成立。后续如需补偿,创建独立业务操作、审批与审计,不把历史成功删掉。
C.5 测试退出码为零,是否可以发布
还需检查真实 PostgreSQL 集成是否运行、是否出现 skip、源码版本与证据是否对应、EPUB 与网页是否完整、公开下载是否与成功 CI 相同。单个退出码不能替所有交付条件作证。