o
    wvXjì  ã                   @   sp   d Z ddlmZmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZ dZe
eƒZejZG d	d
„ d
ejƒZdS )zWorker Task Consumer Bootstep.é    )Úabsolute_importÚunicode_literals)ÚQoSÚignore_errors)Ú	bootsteps)Ú
get_loggeré   )ÚMingle)ÚTasksc                       sF   e Zd ZdZefZ‡ fdd„Zdd„ Zdd„ Zdd	„ Z	d
d„ Z
‡  ZS )r
   z,Bootstep starting the task message consumer.c                    s(   d  |_ |_tt| ƒj|fi |¤Ž d S )N)Útask_consumerÚqosÚsuperr
   Ú__init__)ÚselfÚcÚkwargs©Ú	__class__© úY/var/www/html/myproject/venv/lib/python3.10/site-packages/celery/worker/consumer/tasks.pyr      s   zTasks.__init__c                    s^   ˆ   ¡  ˆ jj ‰ˆ jj dˆ jˆ¡ ˆ jjjˆ jˆ j	d�ˆ _
‡ ‡fdd„}t|ˆ jƒˆ _dS )zStart task consumer.r   )Úon_decode_errorc                    s   ˆ j j| ˆd�S )N)Úprefetch_countÚapply_global)r   r   )r   ©r   Ú
qos_globalr   r   Úset_prefetch_count,   s   þz'Tasks.start.<locals>.set_prefetch_countN)Úupdate_strategiesÚ
connectionÚqos_semantics_matches_specÚdefault_channelÚ	basic_qosÚinitial_prefetch_countÚappÚamqpÚTaskConsumerr   r   r   r   )r   r   r   r   r   r   Ústart   s   
ÿÿzTasks.startc                 C   s$   |j rtdƒ t||j jƒ dS dS )zStop task consumer.zCanceling task consumer...N)r   Údebugr   Úcancel©r   r   r   r   r   Ústop3   s   þz
Tasks.stopc                 C   s4   |j r|  |¡ tdƒ t||j jƒ d|_ dS dS )zShutdown task consumer.zClosing consumer channel...N)r   r)   r&   r   Úcloser(   r   r   r   Úshutdown9   s   

üzTasks.shutdownc                 C   s   d|j r	|j jiS diS )zReturn task consumer info.r   zN/A)r   Úvaluer(   r   r   r   ÚinfoA   s   z
Tasks.info)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   Úrequiresr   r%   r)   r+   r-   Ú__classcell__r   r   r   r   r
      s    r
   N)r1   Ú
__future__r   r   Úkombu.commonr   r   Úceleryr   Úcelery.utils.logr   Úmingler	   Ú__all__r.   Úloggerr&   ÚStartStopStepr
   r   r   r   r   Ú<module>   s    