
    AHjL                    X    d dl mZ d dlmZ erd dlmZ d dlmZ dZd
ddZ	d
ddZ
dd	Zy)    )annotations)TYPE_CHECKING)Redis)
BaseWorkerzrq:suspendedNc                    | j                         5 }||j                  |       |j                  t               |j	                         d   cddd       S # 1 sw Y   yxY w)a.  Checks whether a Worker is suspended on a given connection
    PS: pipeline returns a list of responses
    Ref: https://github.com/andymccurdy/redis-py#pipelines

    Args:
        connection (Redis): The Redis Connection
        worker (Optional[Worker], optional): The Worker. Defaults to None.
    N)pipeline)r   	heartbeatexistsWORKERS_SUSPENDEDexecute)
connectionworkerr   s      E/root/tools/cai/cai_env/lib/python3.12/site-packages/rq/suspension.pyis_suspendedr      s\     
			 &(h/)*!"%	& & &s   <AA c                b    | j                  t        d       || j                  t        |       yy)z
    Suspends.
    TTL of 0 will invalidate right away.

    Args:
        connection (Redis): The Redis connection to use..
        ttl (Optional[int], optional): time to live in seconds. Defaults to `None`
       N)setr   expire)r   ttls     r   suspendr      s.     NN$a(
+S1     c                ,    | j                  t              S )zW
    Resumes.

    Args:
        connection (Redis): The Redis connection to use..
    )deleter   )r   s    r   resumer   ,   s     .//r   )N)r   r   r   zBaseWorker | None)r   r   r   z
int | None)r   r   )
__future__r   typingr   redisr   	rq.workerr   r   r   r   r    r   r   <module>r!      s+    "  $ # & 20r   