�
M�gv � �P � d dl Z d dlZd dlZd dl mZ d dlmZmZmZ d� Zd� Z d� Z
dS )� N)� timedelta)�_init_wait_gen�_maybe_call�
_next_waitc �` � |||||d�}|� |� � | D ]
} ||� � �d S )N��target�args�kwargs�tries�elapsed)�update) �hdlrsr r
r r r
�extra�details�hdlrs �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/backoff/_sync.py�_call_handlersr
sY � ������� �G� �N�N�5����� � ����W�
�
�
�
�� � c �j � ��������� � t j � � � �������� �� f
d�� � }
|
S )Nc �n �
� t �� � }t �� � }d}t j � � � }t ��� � } |dz
}t j t j � � � |z
� � }�| |||d�} �| i |��} �| � � r||k }
|d uo||k }|
s|rt
�fi |�d| i�� nk t || �
||� � }n# t $ r t
�fi |�� Y n=w xY wt
�fi |�| |d��� t j
|� � ��t
�fi |�d| i�� | S )Nr T� r �value)r �wait�r �datetime�nowr r �
total_secondsr r �
StopIteration�time�sleep)r
r �max_tries_value�max_time_valuer �startr r
r �ret�max_tries_exceeded�max_time_exceeded�seconds�jitter�max_time� max_tries�
on_backoff� on_giveup�
on_success� predicater �wait_gen�wait_gen_kwargss ����������r �retryzretry_predicate.<locals>.retry s� �� �%�i�0�0��$�X�.�.�����!�%�%�'�'���h��8�8��# ��Q�J�E��-�h�.?�.C�.C�.E�.E��.M�N�N�G� �� ��"�� �G� �&�$�)�&�)�)�C��y��~�~�
�&+��&>�"�%3�4�%?� &?�%,��%>� "� &� �):� �"�9�C�C��C�C�s�C�C�C�C���(��s�F�G�)7�9� 9�G�G��$� � � �"�9�8�8��8�8�8��E����� �z� 8� 8�W� 8�%(�w�8� 8� 8� 8� 8� �
�7�#�#�#���z�@�@�W�@�@�C�@�@�@�@���
s �C �C9�8C9�� functools�wraps)r r0 r/ r+ r* r) r. r, r- r1 r2 s `````````` r �retry_predicater6 sq ����������� � �_�V���,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ��,�\ �Lr c
�r � ��������� �
�� t j � � � ������� ��
� ��fd�� � }|S )Nc � �� t �� � }t �� � }d}t j � � � }t ��� � } |dz
}t j t j � � � |z
� � }�| |||d�} �| i |��} t
�fi |�� | S # �$ r�}
||k }|d uo||k } �|
� � s|s|rt
�fi |�d|
i�� �r� Y d }
~
d S t ||
�||� � }
n!# t $ r t
�fi |�d|
i�� |
�w xY wt
�fi |�|
|
d��� t j
|
� � Y d }
~
nd }
~
ww xY w��)Nr Tr r � exception)r r9 r )r
r r"