用户于2026-09-27要求先重试今天失败的订单回填,再建立修复工单。今天117条回填中67条成功,48条SYB_SESSION_UNAVAILABLE,2条SYB_ORDER_CONFLICT。已调用既有批量回填接口:19条进入pending,29条因在途租约跳过,冲突不覆盖。
不修改下单、支付或订单采集,不覆盖已有不同SYB订单号,不批量重置成功记录,不公开密码CookieToken。
依赖#305/#326/#330现有回填队列、会话存储及SYB OCR配置;主要影响Server会话与回填服务,共享状态契约,必要时Web查询展示。可先独立设计与测试,不与其他权限任务混入。凭据与并发修改及上线须实施前人工授权,迁移如确需另行确认。
有效会话零额外登录;会话过期并发请求仅一次登录,其他任务等待;成功后原任务回填且回读确认;无OCR/登录失败明确失败且保留订单事实;网络错误不清除有效会话;重复提交幂等;冲突不覆盖;详情/列表回填状态一致。覆盖自动化并发、租约过期恢复、登录失败、重试及现有成功/冲突回归,生产未验证项明确记录。
非新UI功能,复用当前回填列表/详情交互;设计为会话恢复→等待新会话→原任务先回读→安全写入→回读确认→统一展示状态。开始实施需核对最新main及#330完整范围。
更新SYB会话与回填运行契约、业务状态/API说明及运维失败恢复说明;本次仅建工单,不更新长期事实。
当前会话未提供Gitea MCP,因此使用已配置Gitea API创建。
已完成实现并提交 934a7be(分支 fix/343-syb-writeback-session,尚未合并/发布)。\n\n实现:\n- 新增 syb_session_auth_lease,同步与订单回填共用会话获取器;有效会话直接复用,明确失效时单 worker OCR 登录。\n- 其他 worker 等待会话刷新,不重复触发验证码;登录成功后继续原回填,保留回读、幂等和冲突保护。\n- OCR 未配置/登录失败保持结构化失败;网络错误不清除会话。\n- 回填创建时同步采购任务为 pending;终态同步 succeeded/failed 与 writeback_at。\n- 新增迁移 1789801400000_syb_session_auth_lease.go。\n\n验证:\n- go test ./app/goauto/purchase ./app/goauto/sybclient ./cmd/migrate/migration/version-local 通过。\n- go test ./app/goauto/... ./cmd/migrate/... 中既有 sybimport 解析/AI 测试仍有基线失败,与本工单无关;采购、sybclient、迁移相关测试通过。\n\n当前停在待验收,未执行线上迁移、合并或重启。
934a7be
fix/343-syb-writeback-session
syb_session_auth_lease
pending
succeeded/failed
writeback_at
1789801400000_syb_session_auth_lease.go
go test ./app/goauto/purchase ./app/goauto/sybclient ./cmd/migrate/migration/version-local
go test ./app/goauto/... ./cmd/migrate/...
sybimport
2026-09-27 用户授权后已将分支快进合入远端main(abdf907,实现934a7be)。线上迁移1789801400000执行成功:新增1个,跳过64个。发布目录/home/goauto/releases/20260927-343-934a7be,systemd goauto.service active;8010和9527健康接口200,9527首页返回现有Admin HTML。本单仅Server变化,沿用上一发布Web静态资源,未修改Nginx。部署期间首次构建目标/平台不正确,迁移未执行,后改为根main入口Linux amd64构建,确认ELF后执行迁移成功。当前回填统计仍67成功、48会话失败、2冲突,未将健康检查当作业务回填验收,未批量重置历史失败项。待验收。长期Wiki同步闭环尚未完成,之前直接修改镜像不符合Wiki-first,需后续纠正,不宣称文档闭环已完成。
线上已按授权重试2026-09-27的48条 SYB_SESSION_UNAVAILABLE 回填:批量接口全部返回 pending。约30秒后 worker 状态为:44条 pending、4条仍为原失败、22条再次失败(错误消息为会话恢复网络/其他,未触发写入),67条原成功和2条冲突未改动。回填仍在串行处理,当前未宣称成功。
SYB_SESSION_UNAVAILABLE
No dependencies set.
The note is not visible to the blocked user.
需求与当前事实
用户于2026-09-27要求先重试今天失败的订单回填,再建立修复工单。今天117条回填中67条成功,48条SYB_SESSION_UNAVAILABLE,2条SYB_ORDER_CONFLICT。已调用既有批量回填接口:19条进入pending,29条因在途租约跳过,冲突不覆盖。
目标与方案
非目标
不修改下单、支付或订单采集,不覆盖已有不同SYB订单号,不批量重置成功记录,不公开密码CookieToken。
依赖、影响与风险
依赖#305/#326/#330现有回填队列、会话存储及SYB OCR配置;主要影响Server会话与回填服务,共享状态契约,必要时Web查询展示。可先独立设计与测试,不与其他权限任务混入。凭据与并发修改及上线须实施前人工授权,迁移如确需另行确认。
验收与验证
有效会话零额外登录;会话过期并发请求仅一次登录,其他任务等待;成功后原任务回填且回读确认;无OCR/登录失败明确失败且保留订单事实;网络错误不清除有效会话;重复提交幂等;冲突不覆盖;详情/列表回填状态一致。覆盖自动化并发、租约过期恢复、登录失败、重试及现有成功/冲突回归,生产未验证项明确记录。
设计证据
非新UI功能,复用当前回填列表/详情交互;设计为会话恢复→等待新会话→原任务先回读→安全写入→回读确认→统一展示状态。开始实施需核对最新main及#330完整范围。
文档影响
更新SYB会话与回填运行契约、业务状态/API说明及运维失败恢复说明;本次仅建工单,不更新长期事实。
工具回退
当前会话未提供Gitea MCP,因此使用已配置Gitea API创建。
已完成实现并提交
934a7be(分支fix/343-syb-writeback-session,尚未合并/发布)。\n\n实现:\n- 新增syb_session_auth_lease,同步与订单回填共用会话获取器;有效会话直接复用,明确失效时单 worker OCR 登录。\n- 其他 worker 等待会话刷新,不重复触发验证码;登录成功后继续原回填,保留回读、幂等和冲突保护。\n- OCR 未配置/登录失败保持结构化失败;网络错误不清除会话。\n- 回填创建时同步采购任务为pending;终态同步succeeded/failed与writeback_at。\n- 新增迁移1789801400000_syb_session_auth_lease.go。\n\n验证:\n-go test ./app/goauto/purchase ./app/goauto/sybclient ./cmd/migrate/migration/version-local通过。\n-go test ./app/goauto/... ./cmd/migrate/...中既有sybimport解析/AI 测试仍有基线失败,与本工单无关;采购、sybclient、迁移相关测试通过。\n\n当前停在待验收,未执行线上迁移、合并或重启。2026-09-27 用户授权后已将分支快进合入远端main(abdf907,实现934a7be)。线上迁移1789801400000执行成功:新增1个,跳过64个。发布目录/home/goauto/releases/20260927-343-934a7be,systemd goauto.service active;8010和9527健康接口200,9527首页返回现有Admin HTML。本单仅Server变化,沿用上一发布Web静态资源,未修改Nginx。部署期间首次构建目标/平台不正确,迁移未执行,后改为根main入口Linux amd64构建,确认ELF后执行迁移成功。当前回填统计仍67成功、48会话失败、2冲突,未将健康检查当作业务回填验收,未批量重置历史失败项。待验收。长期Wiki同步闭环尚未完成,之前直接修改镜像不符合Wiki-first,需后续纠正,不宣称文档闭环已完成。
线上已按授权重试2026-09-27的48条
SYB_SESSION_UNAVAILABLE回填:批量接口全部返回 pending。约30秒后 worker 状态为:44条 pending、4条仍为原失败、22条再次失败(错误消息为会话恢复网络/其他,未触发写入),67条原成功和2条冲突未改动。回填仍在串行处理,当前未宣称成功。