HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/celery/bin/__pycache__/graph.cpython-310.pyc
o

-we��@s�dZddlZddlmZddlZddlmZmZddlm	Z	m
Z
e��ejedd����Z
e
jedd	id
�ejdd���Ze
jedd	id
�ejd
d���ZdS)�The ``celery graph`` command.�N)�
itemgetter)�
CeleryCommand�handle_preload_options)�DependencyGraph�GraphFormattercCsdS)rN�)�ctxrr�I/home/arjun/projects/env/lib/python3.10/site-packages/celery/bin/graph.py�graphsr�allow_extra_argsT)�cls�context_settingscCsh|jj��}dd�|jpddgD�}d|vr'|jj}d|vr&|j�|jj�n|jjj}|�t	j
�dS)zDisplay bootsteps graph.cSsh|]}|���qSr)�lower��.0�argrrr
�	<setcomp>�zbootsteps.<locals>.<setcomp>�worker�consumerN)�obj�app�WorkController�args�	blueprintr�connect_withr�to_dot�sys�stdout)r	r�include�worker_graphrrr
�	bootstepss�
r"cs��fdd��d-dd��t�fdd�|jD���d�v�d	d
��Gdd�d�}G�fd
d�d|��G�fdd�dt�}dd��Gdd�d|�}G��fdd�d|�}G��fdd�d|�}ddlm}|d��t��dd�pnd�}t��dd�pxd�}|f��fd d!�	}	|jj}
z
�d"}��d#�p�g}Wn.t	y�|
j
����p�i}
gg}}|
�
�D]\}}|�|�|�|d$d%�q�Ynwt|�}��d&|
jj�}i}|	|d�}|r�||kr�|dd�|d'g}t|�D]\}}|	ttt|���d(|�|||<q�|��d)|
������}|�r||�nd*}t|�d+�}|�|�|�r(|�|�dg}t|�D]E\}}|||d,�}|�|�|�||�|�rM|�||�|�|j�}|�rk|D]}�|�}|�|�|�||��qX|dd7<�q/|�tj�d*S).zDisplay workers graph.cs�tdd�|�d���S)Nr��:)r�	partition)r)�
maybe_listrr
�	simplearg%szworkers.<locals>.simplearg�,cSs,|d||dvr|d�|�fS|dfS)Nr�)�split)�l�seprrr
r&(s,zworkers.<locals>.maybe_listc3s�|]}�|�VqdS�Nrr)r'rr
�	<genexpr>+s�zworkers.<locals>.<genexpr>�genericcSsd�t|�j|j�d�d�S)Nz
{} ({}://)z://r)�format�type�__name__�_labelr*)�noderrr
�
generic_label.s�zworkers.<locals>.generic_labelc@s.eZdZdZiZddd�Zdd�Zdd�ZdS)	zworkers.<locals>.NodeNcSs||_||_dSr-)r3�pos)�self�labelr6rrr
�__init__6s
zworkers.<locals>.Node.__init__cSs|jSr-�r3�r7rrr
r8:szworkers.<locals>.Node.labelcSs|��Sr-�r8r;rrr
�__str__=szworkers.<locals>.Node.__str__r-)r2�
__module__�__qualname__�force_label�schemer9r8r=rrrr
�Node2s
rBcs0eZdZddddddd�Z��fdd	�Z�ZS)
zworkers.<locals>.Thread�
lightcyan4�yellow�oval�
g333333�?�black)�	fillcolor�	fontcolor�shape�fontsize�width�colorcs$||_t�jdt����dd�dS)Nzthr-r)r8r6)�
real_label�superr9�next)r7r8�kwargs)�	__class__�tidsrr
r9Js

�z workers.<locals>.Thread.__init__)r2r>r?rAr9�
__classcell__r)rS)rRr
�Thread@s�	rUcs4eZdZdd�Z�fdd�Zdd�Z�fdd�Zd	S)
zworkers.<locals>.FormattercSs|o|��Sr-r<�r7rrrr
r8Ssz workers.<locals>.Formatter.labelcsD|jrt|j�n|j}t|��r|j|d<|�|t|jfi|���S)Nr8)r6�dictrA�
isinstancerN�	draw_node�node_scheme)r7rrA�rUrr
r4Vs

�zworkers.<locals>.Formatter.nodecSs|�|t|jfi|j���Sr-)rYrW�term_schemerArVrrr
�
terminal_node^s�z(workers.<locals>.Formatter.terminal_nodecs*t|��r|jddd�|�|||j|�S)N�none�tee)�	arrowhead�	arrowtail)rX�update�	draw_edge�edge_scheme)r7�a�b�attrsr[rr
�edgecs
zworkers.<locals>.Formatter.edgeN)r2r>r?r8r4r]rhrr[rr
�	FormatterQs
rics6ddddddddd	d
d�
�d��fd
d�t|�D��S)Nu₀u₁u₂u₃u₄u₅u₆u₇u₈u₉)
�0�1�2�3�4�5�6�7�8�9�csg|]}�|�qSrr)r�i��Srr
�
<listcomp>krz.workers.<locals>.subscript.<locals>.<listcomp>)�join�str)�nrrvr
�	subscripths

�zworkers.<locals>.subscriptc@seZdZdS)zworkers.<locals>.WorkerN)r2r>r?rrrr
�Workermsr}cs*eZdZdddddd�Z��fdd�Zd	S)
zworkers.<locals>.Backend�folderr#r)rG�
peachpuff3)rJrL�heightrMrHc��r�|�S|jSr-r:r;�r/r5rr
r8y�zworkers.<locals>.Backend.labelN�r2r>r?rAr8rr�rr
�Backendps�r�cs(eZdZddddd�Z��fdd�ZdS)	zworkers.<locals>.Broker�circle�
cadetblue3�
cadetblue4r))rJrHrMr�cr�r-r:r;r�rr
r8�r�zworkers.<locals>.Broker.labelNr�rr�rr
�Broker|s�r�r)�countr)�wmax��tmax�cs~t|�}|o	||k}d�vr��fdd�t|�D�}|r=|d|d�||dg}d��d�||d��||d<|S)N�	enumeratecs$g|]\}}���|d����qS)r)r)rrur)�namer|rr
rx�s�z/workers.<locals>.maybe_abbr.<locals>.<listcomp>rr)u
{}⎨…{}⎬r#)�lenr�r0)r+r��max�size�abbr)rr|)r�r
�
maybe_abbr�s��zworkers.<locals>.maybe_abbr�nodes�threads�poolzmax-concurrency�backend����P�brokerN)�	formatter)r6)r()rWrr�	itertoolsr��int�getrr�KeyError�control�inspect�stats�items�appendr��conf�result_backendr��list�range�connection_for_read�as_urir�add_arc�add_edger3rrr)r	rBrir}r�r�r��Wmax�Tmaxr�r�workersr��repliesr�reply�wlenr��threads_forrur��deps�	curworker�threadr)rUrr/r5r&r'r|rSr
r�!s|


��
��



r�)�__doc__r�operatorr�click�celery.bin.baserr�celery.utils.graphrr�group�pass_contextr�commandr"r�rrrr
�<module>s