All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m52s
2.4 KiB
2.4 KiB
06 — 交付可合并的 0/3/5 观测序列
What to build: 内部业务调用方可以为资源和同步类型建立立即、3 分钟、5 分钟三次独立观测任务。序列按场景合并、按尝试幂等,单次失败不取消后续任务;达到明确预期时提前完成剩余尝试,实际 Gateway 请求仍通过公共观测边界应用结果。
Blocked by:
- 02 — 交付实名观测的公共写入闭环
- 03 — 交付流量观测的公共写入闭环
- 04 — 交付网络观测的公共写入闭环
.scratch/tech-public-foundation/issues/03-outbox-at-least-once-delivery.md— 03 — 完成 Outbox 到 Asynq 的至少一次投递闭环.scratch/tech-public-foundation/issues/06-unified-async-task-contract.md— 06 — 冻结统一异步任务五态和查询契约.scratch/tech-global-audit/issues/02-integration-log-attempt-loop.md— 02 — 交付可恢复的 Integration Log 尝试闭环
Status: ready-for-agent
架构通道: Application + Port/Adapter,辅助通道为 Infrastructure。
完整业务边界: 本票收口通用观测序列的创建、合并、任务执行、预期判断、互斥和尝试留痕,并为实名、流量、网络及设备信息提供扩展点。明确不批量修改各业务入口,不新增公开同步 API、全局冷却或新的同步运行表。
- 一次触发恰好建立立即、3 分钟、5 分钟三次独立任务,三次任务均为零自动重试,载荷以 struct 或 map 入队并传播稳定
series_id + attempt。 - 同一场景、资源类型、资源 ID 和同步类型的未结束序列被合并;不同场景互不压制,OpenAPI 场景不包含调用方身份且不会因重复查询延长序列。
- 有明确预期时任务执行前读取本地快照,达到预期后把当前和剩余尝试标记完成且不访问 Gateway;回调确认实名后可提前完成同卡实名序列。
- 实际 Gateway 请求期间按单卡、运营商接入和同步类型互斥,流量复用卡级锁;互斥命中只跳过当前尝试,不取消后续任务。
- 合并、互斥、限频、提前完成和实际请求均写 Integration Log;超频不建立额外退避,事件任务失败不改变现有轮询重排。
- 并发及链路测试覆盖重复触发、不同场景、重复投递、单次失败、预期提前完成、互斥、限频、零重试和三次结果连续可查询。