feat: 每日消耗任务触发时点 23:00 改为 23:20
- volc_limit_sync:_maybe_trigger_daily_consume 改分钟级判断(23:20 起触发), 线程内 0-10 分钟随机抖动保留,实际执行窗口 23:20~23:30 - volc_consume:main 手动运行门卫同步 23:20 窗口(--force/--dry-run 不受限) - docs/volc-quota-notes §9:consume clamp2 余额快照滞后在最新思路(§4.2 量化 L=149,616)下确认为必改项,方向待定;消耗任务口径同步收紧标记 [x] - 全仓文档/注释 23:00 统一同步为 23:20(AGENTS/README/docker-compose/两 docs)
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
|
||||
```
|
||||
每天任意时刻 真实用户 + 消耗任务 的消耗 = 当日采集量(火山实时统计,每模型单独计算)
|
||||
每天 23:00 CST 消耗任务补齐缺口(可选)
|
||||
每天 23:20 CST 消耗任务补齐缺口(可选)
|
||||
次日 00:00 起 火山按昨日采集量发放资源包(不定时,可能延迟到上午)
|
||||
```
|
||||
|
||||
@@ -162,7 +162,7 @@ v6 当前日志格式:
|
||||
| `daily_usage:{北京日期}:{model}:{hash}` | LiteLLM 成功回调 INCR + 消耗任务 INCR | 当日采集量,TTL 48h,北京 00:00 滚动 |
|
||||
| `limit:dynamic:volcengine:balance_at_sync:{model}` | 守护线程写 | 同步时点 API AvailableAmount 快照 |
|
||||
| `limit:dynamic:volcengine:usage_at_sync:{model}` | 守护线程写 | 同步时点 Redis 累计消耗快照 |
|
||||
| `consume:last_run:{日期}` | 消耗任务 | 23:00 当日去重,TTL 48h |
|
||||
| `consume:last_run:{日期}` | 消耗任务 | 23:20 当日去重,TTL 48h |
|
||||
|
||||
### 6.2 关键日志
|
||||
|
||||
@@ -395,7 +395,7 @@ reserve = 18输入 + 16声明 = 34,实际消耗 +167/+150(正文 ~16 + 思
|
||||
2. 余额显示不动 ≠ 余额充足,是 API 滞后(Δ≈14 分钟,§4.2);v6 的 `balance_at_sync + usage_at_sync`
|
||||
在滞后未收敛时 = B0 + L(虚高),「实时抵消」仅覆盖同步后窗口,L 不抵消(§7.5)
|
||||
3. 判断「还能免费采多少」:保守用 `网页 B0 − 今日已采`;v6 公式在滞后收敛时等价,未收敛时偏高 L
|
||||
4. 消耗任务 23:00 直连 Ark 绕过 LiteLLM 闸门(防自杀),其自身 clamp:`plan ≤ 2M − usage`、
|
||||
4. 消耗任务 23:20 直连 Ark 绕过 LiteLLM 闸门(防自杀),其自身 clamp:`plan ≤ 2M − usage`、
|
||||
`plan ≤ 余额快照 − SMALL_BUFFER`,停止条件三闭环
|
||||
5. 余额滞后不改变 B0 守恒;30 天过期蒸发是余额下跌的另一来源,
|
||||
与消耗扣减区分(如 08-12 余额 1,558,307 → 596,869,其中约 50 万为滞后修正 + 过期)
|
||||
@@ -416,7 +416,7 @@ reserve = 18输入 + 16声明 = 34,实际消耗 +167/+150(正文 ~16 + 思
|
||||
- [x] v6 实施(2026-08-12,§7.5;2026-08-13 生产验证)
|
||||
- [x] 2M 采集上限击穿修复(2026-08-12 20:53 实测 §7.6:reserve 改用 token_counter + max_tokens,
|
||||
后置 soft_evict 兜底;23:18 重启后 PRE-BLOCK 生效)
|
||||
- [ ] 消耗任务口径同步收紧(已改为 vls.SMALL_BUFFER,确认与闸门一致)
|
||||
- [x] 消耗任务口径同步收紧(2026-08-13 代码确认:clamp2 用 `vls.SMALL_BUFFER`,与闸门同源一致)
|
||||
- [ ] 空窗期(0:00~返还到账)行为观察:v6 下 B0 自动收紧,确认无异常误杀
|
||||
- [ ] 数据库泄漏:08-12 一天 deepseek-v4 消耗记录量级约 5 万条导致 Redis 内存膨胀;触发监控/清理机制
|
||||
- [ ] v6 无静态 2M 兜底时的安全:08-13 幸由 B0(2,242,178) > 2M 静态墙兜底;若某日 B0 < 2M,
|
||||
@@ -424,6 +424,8 @@ reserve = 18输入 + 16声明 = 34,实际消耗 +167/+150(正文 ~16 + 思
|
||||
- [x] reserve 精度验证(2026-08-13 短文本实证:估算 34 vs 实际 167 的根因 =
|
||||
思考模型 reasoning tokens 不计入 reserve,已用 THINKING_RESERVE_FLOOR 兜底;
|
||||
token_counter cl100k_base 对中文偏高对输入侧仍是安全方向)
|
||||
- [ ] consume clamp2 余额快照口径不同步:`plan ≤ balance − SMALL_BUFFER` 用拉包时刻余额快照
|
||||
(volc_consume.py:455),**不含 23:00→00:00 真实用户消耗**;clamp1 用共享 daily_usage 实时精准,
|
||||
但余额维度两方不同步。深夜真实消耗大时两方合计可超烧余额。建议运行时重取余额或扣减预估
|
||||
- [ ] consume clamp2 余额快照口径不同步(2026-08-13 最新思路下确认为**必改项**,方向待定):
|
||||
`plan ≤ balance − SMALL_BUFFER` 用拉包时刻余额快照 (volc_consume.py:455),**不含 23:20→00:00
|
||||
真实用户消耗**;clamp1 用共享 daily_usage 实时精准,但余额维度两方不同步。§4.2 已实测结算
|
||||
滞后 Δ≈14 分钟 → 快照相对真实剩余虚高 L(随消费速度增长,实测 149,616 > SMALL_BUFFER 5 万),
|
||||
深夜真实消耗大时两方合计可超烧余额。方向二选一:运行时重取余额 / 按最近消费速率扣减 L 预估
|
||||
|
||||
Reference in New Issue
Block a user