feat: Snapshot-Offset 限额策略替换 BUFFER 盲猜
核心改动:不再用 BUFFER 猜滞后窗口消耗,而是用同步时点快照 直接计算累计限额。 - BUFFER=300000 → SMALL_BUFFER=50000(仅覆盖非消耗性跳降) - get_effective_limit: limit = B0 - SMALL_BUFFER,不依赖 current_usage - 同步循环:写 balance_at_sync + usage_at_sync 替代 remaining/stable_limit - 突发检测/低额度判断:读 balance_at_sync 替代 remaining - volc_consume.py: vls.BUFFER → vls.SMALL_BUFFER - debug/debug_volc_sync.py: 同步更新 - docs/volc-quota-notes.md: 新增 §7.6 v6 设计文档,更新各节口径
This commit is contained in:
+3
-3
@@ -429,7 +429,7 @@ def run_consume_model(model, source_groups, order, packages=None, dry_run=False)
|
||||
对单个监控模型执行"洗过期包"消耗。
|
||||
目标 = Σ窗口内包计划(均分×1.1/冲刺),clamp:
|
||||
- 采集上限:plan ≤ CONSUME_DAILY_CAP − 当日已消耗
|
||||
- 防扣费:plan ≤ 余额快照 − BUFFER
|
||||
- 防扣费:plan ≤ 余额快照 − SMALL_BUFFER
|
||||
停止条件(每轮检查):daily_usage ≥ 2M / 余额快照−已烧 ≤ 0 / 已烧 ≥ plan
|
||||
:param packages: 复用 run_consume_all 的一次拉包结果;None 时自行拉取
|
||||
"""
|
||||
@@ -451,8 +451,8 @@ def run_consume_model(model, source_groups, order, packages=None, dry_run=False)
|
||||
usage_now = _current_daily_usage(model)
|
||||
# clamp 1: 采集上限(超出部分不返还,白烧)
|
||||
plan = min(plan, CONSUME_DAILY_CAP - usage_now)
|
||||
# clamp 2: 余额快照 − BUFFER(脚本自身不烧穿余额,防扣费)
|
||||
plan = min(plan, max(0, balance - vls.BUFFER))
|
||||
# clamp 2: 余额快照 − SMALL_BUFFER(脚本自身不烧穿余额,防扣费)
|
||||
plan = min(plan, max(0, balance - vls.SMALL_BUFFER))
|
||||
plan = int(max(0, plan))
|
||||
|
||||
if plan < CONSUME_MIN_PLAN:
|
||||
|
||||
Reference in New Issue
Block a user