�
J�g� � � � d dl Z d dlmZ d dlmZmZmZmZmZm Z m
Z
d dlmZm
Z
e
d� � Zerd dlmZ G d� d� � ZdS ) � N)�sleep)�
TYPE_CHECKING�Any�Callable�Iterable�Tuple�Type�TypeVar)�ConnectionError�TimeoutError�T)�AbstractBackoffc � � e Zd ZdZeeej ffdddede e
e df fd�Zde
e
e d d
fd�Zdeg ef d
eegef d efd�Zd
S )�Retryz0Retry a specific number of times after a failure�backoffr �retries�supported_errors.c �0 � || _ || _ || _ dS )a'
Initialize a `Retry` object with a `Backoff` object
that retries a maximum of `retries` times.
`retries` can be negative to retry forever.
You can specify the types of supported errors which trigger
a retry with the `supported_errors` parameter.
N)�_backoff�_retries�_supported_errors)�selfr r r s �[/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/redis/retry.py�__init__zRetry.__init__ s � �"