Skip to content

Instantly share code, notes, and snippets.

@StuffbyYuki
Created May 5, 2022 18:26
Show Gist options
  • Save StuffbyYuki/b1cc919b7fc213ce7b49cea61bd36f81 to your computer and use it in GitHub Desktop.
Save StuffbyYuki/b1cc919b7fc213ce7b49cea61bd36f81 to your computer and use it in GitHub Desktop.
Retry logic for Python API Calls with requests package
def requests_retry_sesssion(
retries=5,
backoff_factor=1,
status_forcelist=(500, 502, 503, 504),
raise_on_redirect=True,
raise_on_status=True
):
'''
Retry logic with requests package
'''
session = requests.Session()
retries = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
raise_on_redirect=raise_on_redirect,
raise_on_status=raise_on_status
)
adapter = HTTPAdapter(max_retries=retries)
session.mount('https://', adapter)
session.mount('http://', adapter)
return session
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment