Add max_retries_on_connection_error

This change deprecates the `max_retries` option in settings.ini,
replacing it with `max_retries_on_connection_error`, in order to
differentiate it from `max_retries_on_checksum_error`.
This commit is contained in:
David Dalcino
2021-10-04 08:04:57 -07:00
parent a06ba49e63
commit be72b00bfc
2 changed files with 12 additions and 3 deletions

View File

@@ -50,7 +50,9 @@ def _check_content_type(ct: str) -> bool:
def getUrl(url: str, timeout) -> str:
logger = getLogger("aqt.helper")
with requests.Session() as session:
retries = requests.adapters.Retry(total=Settings.max_retries, backoff_factor=Settings.backoff_factor)
retries = requests.adapters.Retry(
total=Settings.max_retries_on_connection_error, backoff_factor=Settings.backoff_factor
)
adapter = requests.adapters.HTTPAdapter(max_retries=retries)
session.mount("http://", adapter)
session.mount("https://", adapter)
@@ -81,7 +83,9 @@ def downloadBinaryFile(url: str, out: str, hash_algo: str, exp: bytes, timeout):
logger = getLogger("aqt.helper")
filename = Path(url).name
with requests.Session() as session:
retries = requests.adapters.Retry(total=Settings.max_retries, backoff_factor=Settings.backoff_factor)
retries = requests.adapters.Retry(
total=Settings.max_retries_on_connection_error, backoff_factor=Settings.backoff_factor
)
adapter = requests.adapters.HTTPAdapter(max_retries=retries)
session.mount("http://", adapter)
session.mount("https://", adapter)
@@ -333,8 +337,13 @@ class SettingsClass:
@property
def max_retries(self):
"""Deprecated: please use `max_retries_on_connection_error` and `max_retries_on_checksum_error` instead!"""
return self.config.getfloat("requests", "max_retries", fallback=5)
@property
def max_retries_on_connection_error(self):
return self.config.getfloat("requests", "max_retries_on_connection_error", fallback=self.max_retries)
@property
def max_retries_on_checksum_error(self):
return self.config.getint("requests", "max_retries_on_checksum_error", fallback=int(self.max_retries))

View File

@@ -9,7 +9,7 @@ print_stacktrace_on_error: False
[requests]
connection_timeout: 3.5
response_timeout: 30
max_retries: 5
max_retries_on_connection_error: 5
retry_backoff: 0.1
max_retries_on_checksum_error: 5