def retry(max_retries):
"""
Retry a function `max_retries` times.
taken from https://stackoverflow.com/questions/23892210/python-catch-timeout-and-repeat-request.
"""
def retry(func):
@wraps(func)
def wrapper(*args, **kwargs):
num_retries = 0
while num_retries <= max_retries:
try:
ret = func(*args, **kwargs)
break
except HTTPError:
if num_retries == max_retries:
raise
num_retries += 1
time.sleep(1)
return ret
return wrapper
return retry
评论列表
文章目录