docs: 幂等检查注释标注 data 引用假设与失效条件

This commit is contained in:
vibe-code
2026-08-18 11:01:48 +00:00
parent 5869d311c9
commit 84828646bf
+5
View File
@@ -1192,6 +1192,11 @@ class DailyLimitHandler(CustomLogger):
# 幂等防重:litellm 对同一请求可能调用两次 async_pre_call_hook # 幂等防重:litellm 对同一请求可能调用两次 async_pre_call_hook
# (proxy 级 + deployment 级),第二次预扣会重复占 inflight 且 # (proxy 级 + deployment 级),第二次预扣会重复占 inflight 且
# 结算只释放一次 → 残留累积。已有 reserve 标记时跳过预扣直接放行。 # 结算只释放一次 → 残留累积。已有 reserve 标记时跳过预扣直接放行。
# 假设:deployment-level hook 收到的是同一 data dict 引用(litellm
# pre_call_hook 循环体 data=result 赋值,就地修改会带过去)。若
# litellm 升级为深拷贝 data 传给第二次 hook,此检查失效,需改用
# 请求级唯一 ID(如 litellm_call_id)做去重。部署后留意日志确认
# 第二次 pre-hook 是否被跳过(Pre-reserve 只应打印一次)。
try: try:
_existing_meta = data.get("metadata") or {} _existing_meta = data.get("metadata") or {}
if isinstance(_existing_meta, dict) and PREBLOCK_RESERVE_META_KEY in _existing_meta: if isinstance(_existing_meta, dict) and PREBLOCK_RESERVE_META_KEY in _existing_meta: