5xx 服务端错误
报 500/502/504 怎么办
错误示例
status_code=504, bad response status code 504(网关超时)status_code=502, Upstream service...(上游服务异常)status_code=500, Response stream timeout...(流式响应超时)
原因
5xx 错误通常不是你的代码问题。原因是:
- 上游官方账号临时不可用
- 跨国网络传输出现波动/拥堵
解决办法
- 代码级重试:遇到 5xx 时等待 1-3 秒后自动重试 1-2 次,通常可以解决偶发的网络波动
- 联系客服:如果持续、大面积出现 5xx,说明上游节点可能拥堵或封控,请截图联系运营人员(QQ 3362155094),会第一时间进行线路切换
代码示例
import time
def call_with_retry(func, max_retries=2):
for i in range(max_retries + 1):
try:
return func()
except Exception as e:
if any(code in str(e) for code in ["500", "502", "504"]):
if i < max_retries:
time.sleep(1 + i * 2)
continue
raise