从看板领取依赖已满足的任务
Pull-Based Kanban Orchestration
一次性认领可执行任务,遵守任务归属和前置依赖。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
两位工作者共享目录批次队列。教学 T1 前置通过且验收明确,T2 依赖未完成;如果同时读取第一个未完成条目再写 owner,两人可能都以为认领了 T1。需要实际原子领取而非 Markdown 约定。
具体做法
定义 ready 的前置和验收,使用有并发控制的领取机制在一个操作内确认状态、版本并写 owner。领取成功才编辑分配范围;没有 ready 项等待,不自行跳依赖。完成或失败按真实状态释放/交接,旧 owner 不能修改新的认领。结果核对后才成为满足下游的完成条件。
反例
两人各读队列后都直接编辑 T1;T2 因无人做也先领取,缺少前置检查和 owner 版本。
改进写法
教学领取要求 T1 ready、当前 revision匹配,再原子设置唯一 owner。只有获胜工作者编辑分配文件,另一位选其他 ready 项或空闲。T2 保持 blocked。结束记录验证和未决状态,按当前所有权释放/交接;任务结束不自动标验收通过,旧认领不得覆盖替换状态。
为什么这样改
就绪说明现在能做,所有权说明由谁做。原子领取把两者连到同一时点,减少重复修改和前置未满足的工作,也让恢复或失败有明确归属。
如何验证
教学并发领取 T1 应只有一个成功;T2 无法领取。替换 owner 后旧工作者释放不得删除新状态。检查完成证据后,下游才变 ready。
普通文件先读后写或只标 owner 字符串,不能证明并发安全。本篇未启动真实工作队列。
适用边界
真实租约、崩溃恢复与超时策略需明确,过期时间不证明外部操作未发生。Markdown 看板可展示状态,但并发认领要另有实现;原文未确认。
原文与版本
暂未找到可链接的原文。本文示例由本站编写,用来说明方法。
如何收录这些方法