@@ -166,34 +166,28 @@ async def request(self, route: Route, **kwargs) -> Optional[Any]:
166166 # This "redundant" debug line is for debug use and tracing back the error codes.
167167
168168 raise HTTPException (data ["code" ], message = data ["message" ])
169- if remaining and not int (remaining ):
170- if response .status == 429 :
169+
170+ if response .status == 429 :
171+ if not is_global :
171172 log .warning (
172173 f"The HTTP client has encountered a per-route ratelimit. Locking down future requests for { reset_after } seconds."
173174 )
174175 _limiter .reset_after = reset_after
175176 await asyncio .sleep (_limiter .reset_after )
176177 continue
177- elif is_global :
178+ else :
178179 log .warning (
179180 f"The HTTP client has encountered a global ratelimit. Locking down future requests for { reset_after } seconds."
180181 )
181182 self ._global_lock .reset_after = reset_after
182183 self ._loop .call_later (
183184 self ._global_lock .reset_after , self ._global_lock .lock .release
184185 )
185- elif int (remaining ) == 0 :
186- log .warning (
187- f"The HTTP client has exhausted a per-route ratelimit. Locking route for { reset_after } seconds."
188- )
189- self ._loop .call_later (reset_after , _limiter .release_lock ())
190-
191- if response .status in {500 , 502 , 504 }:
186+ elif int (remaining ) == 0 :
192187 log .warning (
193- f"{ route . endpoint } Received { response . status } ... retrying in { 1 + tries * 2 } seconds"
188+ f"The HTTP client has exhausted a per-route ratelimit. Locking route for { reset_after } seconds. "
194189 )
195- await asyncio .sleep (1 + tries * 2 )
196- continue
190+ self ._loop .call_later (reset_after , _limiter .release_lock ())
197191
198192 log .debug (f"RETURN { response .status } : { dumps (data , indent = 4 , sort_keys = True )} " )
199193
0 commit comments