HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //proc/self/root/lib/python3.9/site-packages/redis/__pycache__/retry.cpython-39.opt-1.pyc
a

��b�@s6ddlZddlmZddlmZmZGdd�d�ZdS)�N)�sleep)�ConnectionError�TimeoutErrorc@s:eZdZdZeeejffdd�Ze	d�dd�Z
dd�Zd	S)
�Retryz0Retry a specific number of times after a failurecCs||_||_||_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)�self�backoffZretriesZsupported_errors�r�//usr/lib/python3.9/site-packages/redis/retry.py�__init__
s
zRetry.__init__)�specified_errorscCstt|jt|���|_dS)zM
        Updates the supported errors with the specified error types
        N)�tuple�setr)r	rrrr�update_supported_errorss�zRetry.update_supported_errorsc
Cs�|j��d}z|�WS|jy�}zP|d7}||�|jdkrP||jkrP|�|j�|�}|dkrlt|�WYd}~qd}~00qdS)a&
        Execute an operation that might fail and returns its result, or
        raise the exception that was thrown depending on the `Backoff` object.
        `do`: the operation to call. Expects no argument.
        `fail`: the failure handler, expects the last error that was thrown
        r�N)r�resetrrZcomputer)r	ZdoZfailZfailures�errorr
rrr�call_with_retry#s
zRetry.call_with_retryN)�__name__�
__module__�__qualname__�__doc__rr�socket�timeoutr
�listrrrrrrrs

�
r)r�timerZredis.exceptionsrrrrrrr�<module>s