
    >i                     V   d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ dd	lmZ d&d
Zd Zd Z ej,                  e       ej.                  dde	eddd       ej.                  dde	edd       ej.                  dde	ddd      ej2                  e
d                                           Z ej,                  eddi       ej6                  d  ej8                  ej:                  j=                         D  cg c]"  \  } }|j>                  d!k(  r|j@                  r| $ c}}       "       ej.                  dde	eddd       ej.                  dde	edd       ej.                  dde	ddd      ej2                  e
d#                                                  Z! ej,                  eddi       ej6                  d  ej8                  ej:                  j=                         D  cg c]"  \  } }|j>                  d$k(  r|j@                  r| $ c}}       "       ej.                  dde	eddd       ej.                  dde	edd       ej.                  dde	ddd      ej2                  e
d%                                                  Z"yc c}} w c c}} w )'z@The ``celery control``, ``. inspect`` and ``. status`` programs.    )partialN)dumps)COMMA_SEPARATED_LISTCeleryCommandCeleryOptionhandle_preload_options)CeleryCommandException)EX_UNAVAILABLE)text)Panelc                 *   t        t        |            }||   }| j                  j                  | ddd      }| j                  j	                  |      \  }}| j                  j                  d| | |rt        j                  |d      nd|       y )	Nz: cyanT)fgboldz->    )	show_body)nextiterobjstyleprettysay_chatr   indent)ctxreplies
show_replynodereplystatuspreplys          n/var/www/html/wine-match-dev/backend/winematch-backend/venv/lib/python3.12/site-packages/celery/bin/control.py_say_remote_command_replyr#      s    WDDME77==D6d=;DWW^^E*NFFGGTdVF8,/9T[[+r)  +    c              #   >  K   d}	 t        |      D ](  \  }}	 | j                  |   \  }}|| ||      n|f * ||d  |d d  y # t        $ r? | j                  rY  !t	        j
                  dj                  || j                              w xY w# ||d  |d d  w xY ww)Nr   z Command {!r} takes arguments: {})	enumerateargs
IndexErrorvariadicclick
UsageErrorformat	signature)metamethodr'   iargnametyps          r"   _consume_argumentsr4      s     	Ao 
	AFAs	A IIaL	c CHS@@
	A qr(Q  1==&&6==01 11 qr(Qs=   BB AB 	BBB 0BB 
BBc                    t         j                  |    }i }|j                  r0|j                  t	        || |      D ci c]  \  }}||
 c}}       |j
                  r|j                  |j
                  |i       |S c c}}w )N)r   r.   r'   updater4   r)   )actionr'   r.   	argumentskvs         r"   _compile_argumentsr;   *   sy    ::fDIyy/fdC
QAqD
 	 }}$--./
s   A=
)clsz-tz	--timeoutg      ?zRemote Control Optionsz%Timeout in seconds waiting for reply.)r<   typedefault
help_grouphelpz-dz--destinationz/Comma separated list of destination node names.)r<   r=   r?   r@   z-jz--jsonTzUse json as output format.)r<   is_flagr?   r@   c           	         |rdnt        t        |       }| j                  j                  j                  j                  |||      j                         }|st        dt              |r$| j                  j                  t        |             t        |      }|j                  dd      s@| j                  j                  dj                  |t        j                  |d                   yy)	z%Show list of workers that are online.Ntimeoutdestinationcallback'No nodes replied within time constraintmessage	exit_codequietF
{} {} online.r   )r   r#   r   appcontrolinspectpingr	   r
   echor   lengetr,   r   	pluralize)r   rD   rE   jsonkwargsrF   r   	nodecounts           r"   r    r    6   s    0 t)BC!HHggkk!!))'6A3; * ==ATV  $=$
 	

 U7^$GI::gu%&--t~~i8: 	; &r$   allow_extra_args)r<   context_settingsr7   rO   )r=   c           	         |rdnt        t        | d      }t        || j                        }| j                  j
                  j                  j                  |||      } |j                  |fi |}	|	st        dt              |r%| j                  j                  t        |	             yt        |	      }
| j                  j                  s@| j                  j                  dj                  |
t!        j"                  |
d                   yy)	z\Inspect the worker at runtime.

    Availability: RabbitMQ (AMQP) and Redis transports.
    NTr   rC   rG   rH   rL   r   )r   r#   r;   r'   r   rM   rN   rO   _requestr	   r
   rQ   r   rR   rK   r,   r   rT   )r   r7   rD   rE   rU   rV   rF   r8   rO   r   rW   s              r"   rO   rO   a   s    @ t)BC48":H"63884Iggkk!!))'6A3; * =G gv ,!*,G $=$
 	

 U7^$GI77==&--t~~i8: 	; r$   rN   c                 >   |rdnt        t        | d      }| j                  }t        ||      }| j                  j
                  j                  j                  ||||d|      }|st        dt              |r%| j                  j                  t        |             yy)z_Workers remote control.

    Availability: RabbitMQ (AMQP), Redis, and MongoDB transports.
    NTr[   )rD   rE   rF   r   r8   rG   rH   )r   r#   r'   r;   r   rM   rN   	broadcastr	   r
   rQ   r   )	r   r7   rD   rE   rU   rF   r'   r8   r   s	            r"   rN   rN      s    @ t)BC48":H88D"640Iggkk!!++FG8C5=266?	 , AG $=$
 	

 U7^$ r$   )F)#__doc__	functoolsr   r*   kombu.utils.jsonr   celery.bin.baser   r   r   r   celery.exceptionsr	   celery.platformsr
   celery.utilsr   celery.worker.controlr   r#   r4   r;   commandoptionfloatpass_contextr    argumentChoicer.   itemsr=   visiblerO   rN   )r2   infos   00r"   <module>rp      s   F   " e e 4 +  '+$	 =!d1:< d'1DF d1/1 ;  1F< ",;* =!3T :<|u|| ::++--T4yyI$,, 	-    d1:< d'1DF d1/1 ;  1F<	<6;< =!3T :<|u|| ::++--T4yyI$,, 	-    d1:< d'1DF d1/1 %  1F<	<6%e-r-s   'J:'J%