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