Skip to content
Snippets Groups Projects

Resolve "advanced retry strategy"

Merged Ghost User requested to merge lukas_issue453_refac_advanced-retry-strategy into develop
1 file
+ 4
1
Compare changes
  • Side-by-side
  • Inline
@@ -98,6 +98,7 @@ def get_data(opts: Dict, headers: Dict, as_json: bool = True, max_retries=5, tim
:return: requested data (either as list or dictionary)
"""
url = create_url(**opts)
response_error = None
for retry in range(max_retries + 1):
time.sleep(random.random())
try:
@@ -110,11 +111,13 @@ def get_data(opts: Dict, headers: Dict, as_json: bool = True, max_retries=5, tim
return response.json() if as_json is True else response.text
else:
logging.debug(f"There was an error (STATUS {response.status_code}) for request {url}")
response_error = f"STATUS {response.status_code}"
except Exception as e:
time.sleep(retry)
logging.debug(f"There was an error for request {url}: {e}")
response_error = e
if retry + 1 >= max_retries:
raise EmptyQueryResult(f"There was an RetryError for request {url}: {e}")
raise EmptyQueryResult(f"There was an RetryError for request {url}: {response_error}")
def correct_stat_name(stat: str) -> str:
Loading