Fix cache type error with retry time

This commit is contained in:
Basraah 2017-07-26 08:59:22 +10:00 committed by GitHub
parent c5b55283d1
commit 2ab45b1019

View File

@ -110,16 +110,16 @@ def api_backoff(func):
break break
except requests.HTTPError as e: except requests.HTTPError as e:
if e.response.status_code == 429: if e.response.status_code == 429:
if 'Retry-After' in e.response.headers: try:
retry_after = e.response.headers['Retry-After'] retry_after = int(e.response.headers['Retry-After'])
else: except (TypeError, KeyError):
# Pick some random time # Pick some random time
retry_after = 5 retry_after = 5
logger.info("Received backoff from API of %s seconds, handling" % retry_after) logger.info("Received backoff from API of %s seconds, handling" % retry_after)
# Store value in redis # Store value in redis
backoff_until = (datetime.datetime.utcnow() + backoff_until = (datetime.datetime.utcnow() +
datetime.timedelta(seconds=int(retry_after))) datetime.timedelta(seconds=retry_after))
global_backoff = bool(e.response.headers.get('X-RateLimit-Global', False)) global_backoff = bool(e.response.headers.get('X-RateLimit-Global', False))
if global_backoff: if global_backoff:
logger.info("Global backoff!!") logger.info("Global backoff!!")