def retry_with_backoff()

in gke/load-embeddings/main.py [0:0]


def retry_with_backoff(func, *args, retry_delay=5, backoff_factor=2, **kwargs):
    """Helper function to retry failed API requests with exponential
    backoff."""
    max_attempts = 10
    retries = 0
    for i in range(max_attempts):
        try:
            return func(*args, **kwargs)
        except Exception as e:
            print(f"error: {e}")
            retries += 1
            wait = retry_delay * (backoff_factor**retries)
            print(f"Retry after waiting for {wait} seconds...")
            time.sleep(wait)