
    `f                        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j        e
d                                                                         Z ej        eddi            ej        d! ej        d" ej                                        D                       #           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j        e
d$                                                                                     Z ej        eddi            ej        d! ej        d% ej                                        D                       #           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j        e
d&                                                                                     Z dS )(z@The ``celery control``, ``. inspect`` and ``. status`` programs.    )partialN)dumps)COMMA_SEPARATED_LISTCeleryCommandCeleryOptionhandle_preload_options)CeleryCommandException)EX_UNAVAILABLE)text)PanelFc                 :   t          t          |                    }||         }| j                            | ddd          }| j                            |          \  }}| j                            d| | |rt          j        |d          nd|           d S )	Nz: cyanT)fgboldz->    )	show_body)nextiterobjstyleprettysay_chatr   indent)ctxreplies
show_replynodereplystatuspreplys          D/var/www/html/env/lib/python3.11/site-packages/celery/bin/control.py_say_remote_command_replyr#      s    WDDME7==Dd=;;DW^^E**NFFGTd,F,,/9AT[+++r)  + + + + +    c              #   R  K   d}	 t          |          D ]n\  }}	 | j        |         \  }}|| ||          n|fV  *# t          $ r8 | j        rY  n1t	          j        d                    || j                            w xY w||d          |d d <   d S # ||d          |d d <   w xY 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oo 
	A 
	AFAs	A IaL	c CCHHHS@@@@@  1 1 1= EE&6==0 01 1 11 qrr(QQQ$qrr(QQQs+   B ?B BB .BB B&c                     t           j        |          }i }|j        r.|                    d t	          || |          D                        |j        r|                    |j        |i           |S )Nc                     i | ]\  }}||	S  r7   ).0kvs      r"   
<dictcomp>z&_compile_arguments.<locals>.<dictcomp>.   s+     
 
 
QAq
 
 
r$   )r   r.   r'   updater4   r)   )actionr'   r.   	argumentss       r"   _compile_argumentsr?   *   s    :fDIy  
 
/fdCC
 
 
 	 	 	 } 0$-.///r$   )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@   rA   rC   rD   z-jz--jsonTzUse json as output format.)r@   is_flagrC   rD   c           	         |rdnt          t          |           }| j        j        j                            |||                                          }|st          dt                    |r'| j        	                    t          |                     t          |          }|                    dd          sC| j        	                    d                    |t          j        |d                               dS dS )	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   rH   rI   jsonkwargsrJ   r   	nodecounts           r"   r    r    6   s   0 Htt)BC!H!HHgk!))'6A3; * = ==ATVV   
$=$
 
 
 	

  %U7^^$$$GI::gu%% ;&--t~i88: : 	; 	; 	; 	; 	;; ;r$   allow_extra_args)r@   context_settingsr=   c                 <    g | ]\  }}|j         d k    |j        |S )rS   rA   visibler8   r2   infos      r"   
<listcomp>rc   c   :     - - -T4yI$, 	r$   )rA   c           	         |rdnt          t          | d          }t          || j                  }| j        j        j                            |||          } |j        |fi |}	|	st          dt                    |r)| j                            t          |	                     dS t          |	          }
| j        j        sC| j                            d                    |
t!          j        |
d                               dS dS )	z\Inspect the worker at runtime.

    Availability: RabbitMQ (AMQP) and Redis transports.
    NTr   rG   rK   rL   rP   r   )r   r#   r?   r'   r   rQ   rR   rS   _requestr	   r
   rU   r   rV   rO   r,   r   rX   )r   r=   rH   rI   rY   rZ   rJ   r>   rS   r   r[   s              r"   rS   rS   a   sB   @  :tt)BC48": ": ":H"63844Igk!))'6A3; * = =G gv , ,!*, ,G  
$=$
 
 
 	

  U7^^$$$GI7= ;&--t~i88: : 	; 	; 	; 	; 	;; ;r$   c                 <    g | ]\  }}|j         d k    |j        |S )rR   r_   ra   s      r"   rc   rc      rd   r$   c                 D   |rdnt          t          | d          }| j        }t          ||          }| j        j        j                            ||||d|          }|st          dt                    |r)| j        
                    t          |                     dS dS )z_Workers remote control.

    Availability: RabbitMQ (AMQP), Redis, and MongoDB transports.
    NTrf   )rH   rI   rJ   r   r>   rK   rL   )r   r#   r'   r?   r   rQ   rR   	broadcastr	   r
   rU   r   )	r   r=   rH   rI   rY   rJ   r'   r>   r   s	            r"   rR   rR      s    @  :tt)BC48": ": ":H8D"6400Igk!++FG8C5=266?	 , A 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.   itemsrS   rR   r7   r$   r"   <module>rz      sk   F F        " " " " " " e e e e e e e e e e e e 4 4 4 4 4 4 + + + + + +       ' ' ' ' ' '+ + + +  $	 	 	 =!!!d1:< < < d'1DF F F d1/1 1 1 ; ;  1 1F F< < "!,;* =!3T :< < <|u| - - :++--- - -        d1:< < < d'1DF F F d1/1 1 1 ; ;  1 1F F< <	 < <6;< =!3T :< < <|u| - - :++--- - -        d1:< < < d'1DF F F d1/1 1 1 % %  1 1F F< <	 < <6% % %r$   