
    s,gA                     l    d dl mZmZ erd dlmZ d dlmZ dZdddded	   fd
Zddddee	   fdZ
ddZy)    )TYPE_CHECKINGOptional)Redis)
BaseWorkerzrq:suspendedN
connectionr   workerr   c                     | 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 suspendeed 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)r   r   r
   s      g/var/www/trellinator.diamondhoofcare.com/public_html/venv/lib/python3.12/site-packages/rq/suspension.pyis_suspendedr      s\     
			 &(h/)*!"%	& & &s   <AA ttlc                 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   r   s     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   )typingr   r   redisr   	rq.workerr   r   r   intr   r    r   r   <module>r!      sM    *$ # &W &h|.D & 2 2hsm 20r   