
     h                     8    d Z ddlmZ ddlmZmZ ddlmZ d ZdS )zTasks auto-retry functionality.    )wraps)IgnoreRetry) get_exponential_backoff_intervalc           
      n    t          |                    dt           dd                              |                    dt           di                     t          |                    dt           dd                              t          |                    dt           dd                              |                    dt           dd	                    rJt	           d
          s<t           j                   fd            } j        |c _         _        dS dS dS )z7Wrap task's `run` method with auto-retry functionality.autoretry_for retry_kwargsretry_backoffFretry_backoff_maxiX  retry_jitterT	_orig_runc                  Z   	  	j         | i |S # t          $ r  t          $ r  $ r}r t          	j        j                  d<   t          	d          rt          	d	j                  d<    	j	        dd|i}t          	d          rt          	d           |d }~ww xY w)N)factorretriesmaximumfull_jitter	countdownoverride_max_retriesmax_retriesexcr	   )r   r   r   r   requestr   hasattrgetattrr   retrydelattr)
argskwargsr   retr   r   r   r   r
   tasks
       P/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/celery/app/autoretry.pyrunz$add_autoretry_behaviour.<locals>.run   s   %t~t6v666             68#0$(L$8$5(4	6 6 6 !- 4!788 L29$:P:>:J3L 3LL/ !dj99S9L994!788 :D"8999	#s    B*A<B%%B*N)tuplegetr   intr   r   r"   r   )r    optionsr"   r   r   r   r   r
   s   `  @@@@@r!   add_autoretry_behaviourr'      sy   OD/266	8 	8 M ;;nb99 L OD/599	; 	; M 'D"5s;;	= 	=  ;;nd;; L  1WT;77 1	tx	 	 	 	 	 	 	 	 	 
	8 $(8S ?1 1 1 1    N)	__doc__
vine.utilsr   celery.exceptionsr   r   celery.utils.timer   r'   r	   r(   r!   <module>r-      s`    % %       + + + + + + + + > > > > > >41 41 41 41 41r(   