작동하지 않습니다 재설정 나는이, 나는이 같은 문제를 가지고 다시 시도 클래스
class RetryRequest(Retry):
DEFAULT_METHOD_WHITELIST = frozenset([
'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE'])
def __init__(self, total=10, connect=None, read=None, redirect=None, status=None,
method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None,
backoff_factor=0, raise_on_redirect=True, raise_on_status=True,
history=None, respect_retry_after_header=True, max_backoff=60):
super(RetryRequest, self).__init__(total=total, connect=connect, read=read, redirect=redirect, status=status,
method_whitelist=method_whitelist, status_forcelist=status_forcelist,
backoff_factor=backoff_factor, raise_on_redirect=raise_on_redirect, raise_on_status=raise_on_status,
history=history, respect_retry_after_header=respect_retry_after_header)
self.backoff_max = max_backoff
def get_backoff_time(self):
""" Formula for computing the current backoff
:rtype: float
"""
# We want to consider only the last consecutive errors sequence (Ignore redirects).
consecutive_errors_len = len(list(takewhile(lambda x: x.redirect_location is None,
reversed(self.history))))
if consecutive_errors_len <= 1:
return 0
backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1))
return min(self.backoff_max, backoff_value)
의 get_backoff_time()를 재정의하고이 클래스를 사용하는 대신 시도
session = session or requests.Session()
retry = RetryRequest(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
method_whitelist=method_whitelist,
max_backoff=max_backoff # in my case 60
)
adapter = HTTPAdapter(max_retries=retry)
session.mount(BASE_URL, adapter)
return session