File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -137,6 +137,13 @@ def request(
137137 params = filtered_params if filtered_params else None ,
138138 json = json ,
139139 )
140+ # Retry on server errors (502, 503, 504)
141+ if (
142+ response .status_code in (502 , 503 , 504 )
143+ and attempt < self ._max_retries
144+ ):
145+ time .sleep (2 ** attempt * 0.5 )
146+ continue
140147 return response .content , response .status_code , response .headers
141148
142149 except httpx .ConnectError as e :
@@ -222,6 +229,13 @@ async def request(
222229 params = filtered_params if filtered_params else None ,
223230 json = json ,
224231 )
232+ # Retry on server errors (502, 503, 504)
233+ if (
234+ response .status_code in (502 , 503 , 504 )
235+ and attempt < self ._max_retries
236+ ):
237+ await asyncio .sleep (2 ** attempt * 0.5 )
238+ continue
225239 return response .content , response .status_code , response .headers
226240
227241 except httpx .ConnectError as e :
You can’t perform that action at this time.
0 commit comments