
    ]j                         d dl mZmZ d dlmZ d dlmZmZ 	 d dlm	Z	m
Z
 d dlmZ deeef   defd	Zdd
Zy# e$ r dZ	dZY w xY w)    )AnyDict)patch)get_connectionget_queue_by_index)ExponentialWithJitterBackoff	NoBackoff)RetryNkwargsreturnc                     t         d uxrC | j                  d      x}d uxr, t        |t               xr t        |j                  t              S )Nretry)r
   get
isinstance_backoffr   )r   r   s     ?/root/env/lib/python3.12/site-packages/django_rq/tests/utils.py_is_buggy_retryr      sR    T 	Ejj))U$6	Eue$	E u~~'CD	    c                    t        |       }|j                  j                  }t        dd      D ]  }	 t	        |      }|j                  | k(  s|j                  j                  j                  }t        |      rt        |      s||k(  sJ |c S t        j                  |d   dt                     5  t        j                  |d   dt                     5  ||k(  sJ 	 ddd       ddd       |d   j                  j                  |d   j                  j                  k(  sJ |c S  y# t
        $ r Y w xY w# 1 sw Y   \xY w# 1 sw Y   `xY w)zJ
    Returns the position of Queue for the named queue in QUEUES_LIST
    r   d   r   r   N)r   connection_poolconnection_kwargsranger   AttributeErrorname
connectionr   r   objectr	   r   __dict__)r   r   r   iqpool_kwargss         r   get_queue_indexr"      sO     %J"22DD1c] 	"1%A 66T>,,66HHK";/GX7Y"&7777 H \\(*ik <<<%g.
IK<
 '*;;;;< < #7+44==ARSZA[AdAdAmAmmmmH14 /  		< < < <s5   D'0#ED7E'	D43D47E <EE	)default)typingr   r   unittest.mockr   django_rq.queuesr   r   redis.backoffr   r	   redis.retryr
   ImportErrorstrboolr   r"    r   r   <module>r-      sU      ?E!DcN t !  #' Es   8 	AA