Only defer the lock if we're pre-emptively rate limiting.
If a 429 was already hit somehow then we're no longer pre-emptively rate limiting and we're going to end up having a race condition in the lock/unlock cycle.
This commit is contained in:
		| @@ -154,7 +154,7 @@ class HTTPClient: | ||||
|  | ||||
|                     # check if we have rate limit header information | ||||
|                     remaining = r.headers.get('X-Ratelimit-Remaining') | ||||
|                     if remaining == '0': | ||||
|                     if remaining == '0' and r.status != 429: | ||||
|                         # we've depleted our current bucket | ||||
|                         if header_bypass_delay is None: | ||||
|                             now = parsedate_to_datetime(r.headers['Date']) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user