
    h                     n    S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r	J
r
  Sr " S S	\5      rS
 rSS jrg)zRegistry of available tasks.    N)import_module)get_current_app)add_autoretry_behaviour)InvalidTaskErrorNotRegistered)TaskRegistryc                   @    \ rS rSrSr\rS rS rS rS r	S r
S rS	rg
)r      zMap of registered tasks.c                 $    U R                  U5      eN)r   )selfkeys     ;D:\TimeStamps\venv\Lib\site-packages\celery/app/registry.py__missing__TaskRegistry.__missing__   s      %%    c                    UR                   c-  [        SR                  [        U5      R                  5      5      e[
        R                  " U5      =(       a    U" 5       =(       d    Un[        U5        XUR                   '   g)zRegister a task in the task registry.

The task will be automatically instantiated if not already an
instance. Name must be configured prior to registration.
Nz,Task class {!r} must specify .name attribute)namer   formattype__name__inspectisclassr   )r   tasks     r   registerTaskRegistry.register   se     99">EEJ'')* * t$/74%TYYr   c                 |     U R                  [        USU5      5        g! [         a    U R                  U5      ef = f)zUnregister task by name.

Arguments:
    name (str): name of the task to unregister, or a
        :class:`celery.app.task.Task` with a valid `name` attribute.

Raises:
    celery.exceptions.NotRegistered: if the task is not registered.
r   N)popgetattrKeyErrorr   )r   r   s     r   
unregisterTaskRegistry.unregister"   s<    	+HHWT6401 	+$$T**	+s    ;c                 $    U R                  S5      $ )Nregularfilter_typesr   s    r   r$   TaskRegistry.regular2   s      ++r   c                 $    U R                  S5      $ )Nperiodicr%   r'   s    r   r*   TaskRegistry.periodic5   s      ,,r   c           	      ~    U R                  5        VVs0 s H  u  p#[        USS5      U:X  d  M  X#_M     snn$ s  snnf )Nr   r$   )itemsr   )r   r   r   r   s       r   r&   TaskRegistry.filter_types8   sB    -1ZZ\ =\zt43t; 
\ = 	= =s   99 N)r   
__module____qualname____firstlineno____doc__r   r   r   r!   r$   r*   r&   __static_attributes__r/   r   r   r   r      s(    "!M&+ ,-=r   r   c                 0    [        5       R                  U    $ r   )r   tasks)r   s    r   _unpickle_taskr7   =   s    ""4((r   c                 T    U(       a  [        U5        [        5       R                  U    $ r   )r   r   r6   )r   modules     r   _unpickle_task_v2r:   A   s!    f""4((r   r   )r3   r   	importlibr   celery._stater   celery.app.autoretryr   celery.exceptionsr   r   __all__dictr   r7   r:   r/   r   r   <module>rA      s3    "  # ) 8 =
.=4 .=b))r   