Сохрани себе: для повторных попыток (retry) с экспоненциальной задержкой в Python можно использовать библиотеку
tenacity. Это удобно для работы с нестабильными API, так как она позволяет легко настраивать количество попыток, задержку и её увеличение при каждой неудаче.
import requests
from tenacity import retry, wait_exponential
@retry(wait=wait_exponential(multiplier=1, min=2, max=10), stop=stop_after_attempt(5))
def fetch_data(url):
response = requests.get(url)
response.raise_for_status() # Вызывает исключение для ошибок 4xx/5xx
return response.json()
data = fetch_data("https://example.com/api/data")
print(data)