Repository navigation
v1.12.1 — 2026-11-02
格式遵循 Keep a Changelog,版本号遵循 语义化版本。
本次为补丁发布:无破坏性变更,可直接升级。
修掉一个会让服务自己把机器拖垮的缺陷 —— 上游账号凭证失效后,
后台额度核查会陷入无限重试,单容器长期吃满一个 CPU 核并高速刷日志。
修复
额度核查在账号凭证失效后无限重试,可致整机卡顿
- 此前行为:某个上游账号的凭证失效后,服务会持续重试该账号,
容器 CPU 长期接近 100%(单核),日志以约 900 MB/小时增长。
持续数小时可写满系统盘,表现为整机变卡;重启只能缓解,随后复发。 - 现在行为:失败账号进入退避窗口,不再被反复重试,负载恢复正常。
- 额外加固:核查循环加了轮次上限 —— 即使将来再出现同类遗漏,
也只会有限次重试并留下一条日志,不会无声地无限循环。
影响范围:使用 loomy 上游的部署。其他上游不受影响。
变更
- 同一账号的同类失败日志,现在最多每 5 分钟记录一条(此前每次失败都记录)。
wb2api容器的日志上限设为 50 MB × 3 个文件(此前无上限,可无限增长)。
验证
| 检查 | 结果 |
|---|---|
go build ./... / go vet ./... |
通过 |
go test -short ./... |
48 个包全部通过,0 失败 |
| 容器 CPU | 90 ~ 124% → 3.3% |
| 日志速率 | 1187 行/秒 → 0.6 行/秒 |
| 全机空闲率 | 11.8% → 90.6% |
| 服务健康检查 | healthy 153/163 |
已知问题
账号池 104 个 loomy 账号中有 3 个(2.9%)的上游凭证已失效,需在管理台
逐个重新登录(手机号 + 短信验证码)。这 3 个账号会周期性产生提示日志,
但已受上述限流与退避约束,不影响服务运行。
⚠️ 勘误:本版此前的说明写的是"8 个",属误报。原因是日志中的账号标识
只截取 uid 前 8 位,把同一天创建的一批账号显示成了同一个标签,据此误判了数量。
已用全量实测更正为 3 个。
升级
无破坏性变更,替换二进制后重启即可。
- Docker:
docker compose up -d --build - 裸机:替换
wb2api-server后重启进程
部署建议(不随本 release 分发,按需自行添加):给容器加日志上限
(本版已改docker-compose.yml),并可加一条定期巡检记录 CPU / 日志大小,
以便下次异常能自己留下证据,而不是靠人发现"机器卡了"。