All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m20s
1.2 KiB
1.2 KiB
Context
轮询执行器以完整任务类型维护当前并发计数,而管理服务以短任务类型读取和重置计数;最大并发配置仍按短任务类型保存。
Goals / Non-Goals
Goals:
- 管理服务与执行器使用同一当前计数键。
- 保留短任务类型的数据库与 Redis 最大并发配置格式。
Non-Goals:
- 不调整最大并发值、Redis Lua 限流算法或任务调度。
- 不新增数据库记录或 Schema。
Decisions
管理服务在读取和重置当前计数前,将数据库短任务类型规范化为轮询完整任务类型。这样只修正观测与重置目标,执行器和既有配置保持不变。
不修改执行器改用短类型计数,避免改变已运行 Worker 的共享信号量键并造成发布期间的计数分裂。
Risks / Trade-offs
- [旧错误短类型计数键残留] → 新代码忽略该键;其无 TTL 的残留值不再影响限流或展示。
- [重置运行中计数] → 保持现有管理语义,后续任务完成时仍会递减同一完整类型键。
Migration Plan
- 发布 API 与 Worker 代码。
- 在存在轮询任务时核对列表、详情和重置读取同一完整类型计数键。
- 回滚时恢复上一版本;不涉及数据迁移。