def retry_boto(max_retries=5, retry_wait_time=2000, retryable_error_codes=None, retryable_status_codes=None, retryable_exceptions=None):
def decorator(func):
@functools.wraps(func)
@retry(stop_max_attempt_number=max_retries,
wait_exponential_multiplier=retry_wait_time,
retry_on_exception=lambda exc: isinstance(exc, Boto3RetryableException))
def wrapper(*args, **kwargs):
return _call_boto_func(func, *args,
retryable_status_codes=retryable_status_codes,
retryable_exceptions=retryable_exceptions,
retryable_codes=retryable_error_codes,
**kwargs)
return wrapper
return decorator
评论列表
文章目录