Ë
    –V.j~	  ã                   óx   — d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 ddlmZ ddlmZ dZ e
d	„ «      Zdd„Zd„ Zy
)zCelery Application.é    )Ú_state)Úapp_or_defaultÚdisable_traceÚenable_traceÚpop_current_taskÚpush_current_task)ÚProxyé   )ÚCelery)Ú
AppPickler)
r   r   r   Údefault_appÚ	bugreportr   r   Úshared_taskr   r   c                  ó"   — t         j                  S ©N)r   r   © ó    úUC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/app/__init__.pyÚ<lambda>r      s
   € œF×.Ò.r   Nc                 óN   — | xs t        j                  «       j                  «       S )z)Return information useful in bug reports.)r   Úget_current_appr   )Úapps    r   r   r      s   € àÒ+”6×)Ñ)Ó+×6Ñ6Ó8Ð8r   c                  ór   — d„ }t        | «      dk(  rt        | d   «      r  |di |¤Ž| d   «      S  || i |¤ŽS )aL  Create shared task (decorator).

    This can be used by library authors to create tasks that'll work
    for any app environment.

    Returns:
        ~celery.local.Proxy: A proxy that always takes the task from the
        current apps task registry.

    Example:

        >>> from celery import Celery, shared_task
        >>> @shared_task
        ... def add(x, y):
        ...     return x + y
        ...
        >>> app1 = Celery(broker='amqp://')
        >>> add.app is app1
        True
        >>> app2 = Celery(broker='redis://')
        >>> add.app is app2
        True
    c                  ó   ‡ — ˆ fd„}|S )Nc                 ó2  •‡ ‡— ‰j                  d«      Št        j                  ˆ ˆfd„«       t        j                  «       D ]7  }|j                  sŒ|j
                  5   |j                  ‰ fi ‰¤Ž d d d «       Œ9 ˆ ˆfd„}t        |«      S # 1 sw Y   ŒTxY w)NÚnamec                 ó*   •—  | j                   ‰fi ‰¤ŽS r   )Ú_task_from_fun)r   ÚfunÚoptionss    €€r   r   zJshared_task.<locals>.create_shared_task.<locals>.__inner.<locals>.<lambda>7   s   ø€ Ð.˜C×.Ñ.¨sÑ>°gÒ>r   c                  óš   •— t        j                  «       } | j                  ‰xs& | j                  ‰j                  ‰j
                  «         S r   )r   r   ÚtasksÚgen_task_nameÚ__name__Ú
__module__)r   r   r   s    €€r   Útask_by_conszNshared_task.<locals>.create_shared_task.<locals>.__inner.<locals>.task_by_consB   s?   ø€ Ü×,Ñ,Ó.�Ø—y‘yØÒK˜C×-Ñ-¨c¯l©l¸C¿N¹NÓKñð r   )Úgetr   Úconnect_on_app_finalizeÚ_get_active_appsÚ	finalizedÚ_finalize_mutexr   r	   )r   r   r&   r   r    s   `  @€r   Ú__innerz8shared_task.<locals>.create_shared_task.<locals>.__inner2   s�   ú€ Ø—;‘;˜vÓ&ˆDô ×*Ñ*Ü>ôô
 ×.Ñ.Ö0�Ø—=“=Ø×,Ó,Ø*˜×*Ñ*¨3Ñ:°'Ò:÷ -Ð,ð 1õô
 ˜Ó&Ð&÷ -Ð,ús   ÁBÂB	r   )r    r,   s   ` r   Úcreate_shared_taskz'shared_task.<locals>.create_shared_task0   s   ø€ ô	'ð, ˆr   r
   r   r   )ÚlenÚcallable)ÚargsÚkwargsr-   s      r   r   r      sI   € ò0ô4 ˆ4ƒy�A‚~œ( 4¨¡7Ô+Ø+Ñ!Ñ+ FÑ+¨D°©GÓ4Ð4Ù˜tÐ. vÑ.Ð.r   r   )Ú__doc__Úceleryr   Úcelery._stater   r   r   r   r   Úcelery.localr	   Úbaser   Úutilsr   Ú__all__r   r   r   r   r   r   Ú<module>r9      s8   ðÙ Ý ß jÕ jÝ å Ý ð€ñ Ñ.Ó/€ó9ó
4/r   