Python retry decorator

Anonymousยท4d ago99 views
PythonPublic
import time
from functools import wraps

def retry(times=3, delay=0.5):
    def decorator(fn):
        @wraps(fn)
        def wrapper(*args, **kwargs):
            last = None
            for attempt in range(times):
                try:
                    return fn(*args, **kwargs)
                except Exception as exc:
                    last = exc
                    time.sleep(delay * (attempt + 1))
            raise last
        return wrapper
    return decorator

Comments(0)

No comments yet. Start the conversation.