fix: cover httpx disconnect family in transient error set
This commit is contained in:
+4
-1
@@ -179,7 +179,10 @@ def _is_transient_error(exc: Exception) -> bool:
|
||||
返回:
|
||||
True 表示可重试,False 表示不可重试。
|
||||
"""
|
||||
if isinstance(exc, (httpx.ConnectError, httpx.ReadTimeout, httpx.WriteTimeout)):
|
||||
# 两族基类覆盖断连族:TimeoutException(ConnectTimeout/ReadTimeout/WriteTimeout/PoolTimeout)
|
||||
# 与 TransportError(ConnectError/ReadError/RemoteProtocolError 等)。
|
||||
# 注意 HTTPStatusError 非 TransportError 子类,401/403 致命分支不受影响。
|
||||
if isinstance(exc, (httpx.TimeoutException, httpx.TransportError)):
|
||||
return True
|
||||
if isinstance(exc, httpx.HTTPStatusError):
|
||||
return exc.response.status_code in _TRANSIENT_STATUS_CODES
|
||||
|
||||
Reference in New Issue
Block a user