
    `f                     t    d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
 dZ G d d	e          Zd
 ZddZdS )zRegistry of available tasks.    N)import_module)get_current_app)add_autoretry_behaviour)InvalidTaskErrorNotRegistered)TaskRegistryc                   :    e Zd ZdZeZd Zd Zd Zd Zd Z	d Z
dS )	r   zMap of registered tasks.c                 ,    |                      |          N)r   )selfkeys     E/var/www/html/env/lib/python3.11/site-packages/celery/app/registry.py__missing__zTaskRegistry.__missing__   s      %%%    c                     |j         4t          d                    t          |          j                            t          j        |          r
 |            p|}t          |           || |j         <   dS )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   registerzTaskRegistry.register   s{     9">EEJJ') )* * * t$$/74%%%TYr   c                     	 |                      t          |d|                     dS # t          $ r |                     |          w xY w)a  Unregister 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   
unregisterzTaskRegistry.unregister"   sZ    	+HHWT640011111 	+ 	+ 	+$$T***	+s	   $(  Ac                 ,    |                      d          S )Nregularfilter_typesr   s    r   r    zTaskRegistry.regular2   s      +++r   c                 ,    |                      d          S )Nperiodicr!   r#   s    r   r%   zTaskRegistry.periodic5   s      ,,,r   c                 D    fd|                                  D             S )Nc                 F    i | ]\  }}t          |d d          k    ||S )r   r    )r   ).0r   r   r   s      r   
<dictcomp>z-TaskRegistry.filter_types.<locals>.<dictcomp>9   s?     = = =ztT433t;; d;;;r   )items)r   r   s    `r   r"   zTaskRegistry.filter_types8   s5    = = = =TZZ\\ = = = 	=r   N)r   
__module____qualname____doc__r   r   r   r   r    r%   r"    r   r   r   r      sy        ""!M& & &  + + + , , ,- - -= = = = =r   r   c                 4    t                      j        |          S r   )r   tasks)r   s    r   _unpickle_taskr1   =   s    "4((r   c                 V    |rt          |           t                      j        |          S r   )r   r   r0   )r   modules     r   _unpickle_task_v2r4   A   s,     f"4((r   r   )r-   r   	importlibr   celery._stater   celery.app.autoretryr   celery.exceptionsr   r   __all__dictr   r1   r4   r.   r   r   <module>r;      s    " "  # # # # # # ) ) ) ) ) ) 8 8 8 8 8 8 = = = = = = = =
.= .= .= .= .=4 .= .= .=b) ) )) ) ) ) ) )r   