resp = client.quota()
print(resp['used'], resp['total'])
if resp['left'] < 200: raise SystemExit('quota low')

批量补录一次投了 5000 张,接口控制台的免费额度 2000 次两小时清零,后面的请求全部返回 quota_exceeded。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:调用量按张计,一张图一次请求,5000 条没做分批也没查剩余额度。失败重试又把同一批图整批重投,额度消耗翻倍。

「识别调用配额管理」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。监控和日志的时间要对上,时区不一致会多绕很大一圈。

临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

处理上按这个顺序:提交前查剩余额度 按 80% 设水位;每批 200 张 批间 sleep 控制速率;额度低于 10% 切备用账号或排队到次日;重试只投失败条目 不要整批重发。

确认没问题再收工,5000 张分三天跑完 没有出现额度耗尽 失败重试次数减半。

作者 9823189