o
    ›¨Êh=  ã                
   @   sD  d Z ddlZddlZddlZddlmZ ddlmZ dZdZ	dZ
d	Zd
ZdZdZdZe	› de› d�ZeddƒZe de	¡ ¡ Zeeed ƒeed ƒeed ƒed pTddƒ ZZ[[ej d¡rsddlZddddejfdd„Zee_dZdeƒ dddd…  ¡ < er¿ddl 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"l+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 dd#l5m6Z6 dCd$d%„Z7d&d'„ Z8d(d)„ Z9		dDd*d+„Z:ej;e<fi d,g d-¢d.gd/d0gg d1¢d2gd3œ“d4d5“d6e=“d7e>“d8e “d9e	“d:e
“d;e“d<e“d=e“d>e“d?e“d@e“dAe“de“dBe“d+e:“d%e7“Ž\Z?Z@dS )EzDistributed Task Queue.é    N)Ú
namedtupleé   )Úlocalzemerald-rushz5.3.5z	Ask Solemzauvipy@gmail.comzhttps://docs.celeryq.dev/Úrestructuredtextz*task job queue distributed messaging actor)ÚCeleryÚ	bugreportÚshared_taskÚTaskÚcurrent_appÚcurrent_taskÚmaybe_signatureÚchainÚchordÚchunksÚgroupÚ	signatureÚxmapÚxstarmapÚuuidz (ú)Úversion_info_t)ÚmajorÚminorÚmicroÚreleaselevelÚserialz(\d+)\.(\d+).(\d+)(.+)?é   é   Ú Ú
C_IMPDEBUGéÿÿÿÿc                 C   sT   |pt tdd d d… ƒdƒj}|r| d¡pd}td|› d| › �ƒ || ||||ƒS )NÚ	emarfteg_r    r   Ú__name__Úunknownz-- z	 imports )ÚgetattrÚsysÚ	f_globalsÚgetÚprint)ÚnameÚlocalsÚglobalsÚfromlistÚlevelÚreal_importÚglobÚimporter_name© r1   úA/var/www/html/env/lib/python3.10/site-packages/celery/__init__.pyÚdebug_import6   s   r3   TFÚkcah_acitats)r
   r   )r   )r   )r	   )r   )	r   r   r   r   r   r   Úsubtaskr   r   )r   c                 C   s”   t | ƒD ]8\}}| d¡r<|r.| d¡r.| d¡\}}}||v r.|r&|  S | |d    S |r<||v r<| |d    S qtd |pGg | pGg ¡ƒ‚)z¬Search argv for options specifying short and longopt alternatives.

    Returns:
        str: value for option found
    Raises:
        KeyError: if option not found.
    ú-z--ú=r   ú|)Ú	enumerateÚ
startswithÚ	partitionÚKeyErrorÚjoin)ÚargvÚ
short_optsÚ	long_optsÚiÚargr)   ÚsepÚvalr1   r1   r2   Ú_find_option_with_argQ   s   
€rE   c                  C   s<   dd l } |  ¡  ttj dd¡ƒ}|r| j ||¡ d S d S )Nr   ÚEVENTLET_NOBLOCK)Úeventlet.debugÚmonkey_patchÚfloatÚosÚenvironr'   ÚdebugÚhub_blocking_detection)ÚeventletÚblockdetectr1   r1   r2   Ú_patch_eventletd   s   ÿrP   c                  C   s   dd l } dd l} | j ¡  d S )Nr   )Úgevent.monkeyÚgevent.signalÚmonkeyÚ	patch_all)Úgeventr1   r1   r2   Ú_patch_geventm   s   rV   c                 C   s²   | r| nt j} |r|ndg}|r|ndg}|r|nttdœ}zt| ||ƒ}W n
 ty0   Y dS w z|| }W n	 ty@   Y nw |ƒ  ddlm} || ¡ v rW| 	|¡ dS dS )a  Apply eventlet/gevent monkeypatches.

    With short and long opt alternatives that specify the command line
    option to set the pool, this makes sure that anything that needs
    to be patched is completed as early as possible.
    (e.g., eventlet/gevent monkey patches).
    z-Pz--pool)rN   rU   r   )ÚconcurrencyN)
r%   r>   rP   rV   rE   r<   ÚceleryrW   Úget_available_pool_namesÚget_implementation)r>   r?   r@   ÚpatchesÚpoolÚpatcherrW   r1   r1   r2   Úmaybe_patch_concurrencyt   s*   	
ÿÿÿÿr^   Ú	by_module)r   r   r   r	   r
   r   )
Ú	Signaturer   r   r   r   r   r   r5   r   r   r   )z
celery.appzcelery.app.taskzcelery._statezcelery.canvaszcelery.utilsÚ__package__rX   Ú__file__Ú__path__Ú__doc__Ú__version__Ú
__author__Ú__contact__Ú__homepage__Ú__docformat__r   ÚVERSIONÚSERIESÚVERSION_BANNERÚversion_info)NN)NNNN)Ard   rJ   Úrer%   Úcollectionsr   r   r   rk   re   rf   rg   rh   ri   Ú__keywords__Ú__all__rl   r   ÚmatchÚgroupsÚ_tempÚintrj   rm   rK   r'   ÚbuiltinsÚ
__import__r3   ÚSTATICA_HACKr+   ÚupperÚcelery._stater
   r   Ú
celery.appr   Úcelery.app.baser   Úcelery.app.taskr	   Úcelery.app.utilsr   Úcelery.canvasr   r   r   r   r   r   r5   r   r   Úcelery.utilsr   rE   rP   rV   r^   Úrecreate_moduler"   rb   rc   Ú
old_moduleÚ
new_moduler1   r1   r1   r2   Ú<module>   s¸    	
ÿÿ*ÿ
ÿ,
	
ÿ"ÿ÷þóóòòòññðððïïïîíìë