Files
junhong_cmp_fiber/.scratch/tech-public-foundation/issues/06-unified-async-task-contract.md
2026-07-22 15:43:18 +09:00

1.8 KiB
Raw Blame History

06 — 冻结统一异步任务五态和查询契约

What to build: 新接入的业务任务和前端可以复用固定五态、中文状态名、进度、结果计数、失败摘要、时间信息、租约恢复和轮询语义。任务到达业务处理终点时即为已完成,部分成功或全部业务项失败通过计数表达;只有整体无法执行时才进入已失败。

Blocked by: None — can start immediately

Status: ready-for-agent

架构通道: 主通道为 Application辅助通道为 Query。

完整业务边界: 本票收口公共任务状态、公开投影、领取与终态更新、结构化队列载荷及前端轮询契约,并以现有导出任务作为兼容基准。明确不创建万能任务表,不迁移批量订购、设备分配、导入任务或其他未触碰业务任务。

  • 公共状态固定为 1=待处理、2=处理中、3=已完成、4=已失败、5=已取消,响应同时返回对应中文状态名。
  • 公开查询契约至少包含任务 ID、状态与名称、总数、成功数、失败数、进度、安全失败摘要、开始、完成和更新时间。
  • 业务项处理完成后满足 total_count = success_count + failed_count;部分成功和全部业务项失败均为已完成,不增加“部分成功”状态。
  • 待处理领取、终态进入和取消均使用预期状态条件更新;重复 Handler 遇到终态不会重新制造业务副作用。
  • 处理中任务具有租约或等价恢复记录,进程重启或重复投递后能从 PostgreSQL 事实恢复;队列载荷只包含最小结构化标识且禁止 []byte
  • 契约测试覆盖全成功、部分成功、全部业务项失败、整体失败、取消、重复消费和过期任务恢复,并记录跨仓轮询、隐藏暂停与刷新恢复语义。