实现 next/claim/start:指定任务只能由指定设备领取,未指定任务由在线空闲设备原子领取;数据库租约配合 Android 本地互斥。
没有双领;一台设备最多一个运行任务;同一商品最多一个 pending/running;重复 requestId 幂等。
单元测试、接口/数据库约束测试;涉及 Android 行为时增加华为和一加真机验证。
保持写接口幂等、任务输入快照不可变和设备串行;数据变化须提供兼容迁移或明确回退。
依赖 T02~T04 已完成且用户已验收。现开始实施 T06,先核对共享契约、数据约束与现有设备接口,再实现任务领取、租约和单设备串行。
实现完成,进入待验收。
实现:Agent next/claim/start API;指定与空闲任务选择;事务行锁;两分钟租约与 leaseVersion;claim/start requestId 幂等;设备在线/忙碌/竞争/租约错误码;Android API 客户端与进程内 TaskExecutionMutex;共享契约更新。
验证:go test ./...、go build ./...、核心包 go test -race、Android testDebugUnitTest assembleDebug 均通过。未重启用户当前服务,MySQL 新字段将在下次启动迁移。
go test ./...
go build ./...
go test -race
testDebugUnitTest assembleDebug
2026-08-15 ?????? T15 ?????????????????????????? 6949e53 ??,??????
6949e53
???????????????:????? T06?2026-08-15 ??????? T06 ????;?????????
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决的问题
实现 next/claim/start:指定任务只能由指定设备领取,未指定任务由在线空闲设备原子领取;数据库租约配合 Android 本地互斥。
范围
实现 next/claim/start:指定任务只能由指定设备领取,未指定任务由在线空闲设备原子领取;数据库租约配合 Android 本地互斥。
明确不做
验收标准
没有双领;一台设备最多一个运行任务;同一商品最多一个 pending/running;重复 requestId 幂等。
验证方式
单元测试、接口/数据库约束测试;涉及 Android 行为时增加华为和一加真机验证。
参考文档
风险和回退
保持写接口幂等、任务输入快照不可变和设备串行;数据变化须提供兼容迁移或明确回退。
[Task][T06] 实现任务分派、领取租约与设备串行约束to [Task][T06] 实现指定/空闲领取、租约与设备串行依赖 T02~T04 已完成且用户已验收。现开始实施 T06,先核对共享契约、数据约束与现有设备接口,再实现任务领取、租约和单设备串行。
实现完成,进入待验收。
实现:Agent next/claim/start API;指定与空闲任务选择;事务行锁;两分钟租约与 leaseVersion;claim/start requestId 幂等;设备在线/忙碌/竞争/租约错误码;Android API 客户端与进程内 TaskExecutionMutex;共享契约更新。
验证:
go test ./...、go build ./...、核心包go test -race、AndroidtestDebugUnitTest assembleDebug均通过。未重启用户当前服务,MySQL 新字段将在下次启动迁移。2026-08-15 ?????? T15 ??????????????????????????
6949e53??,?????????????????????:????? T06?2026-08-15 ??????? T06 ????;?????????