o
    ›¨Êh¨  ã                   @   s`   d 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.é    )Ú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ƒ j|fi |¤Ž d S )N)Útask_consumerÚqosÚsuperÚ__init__)ÚselfÚcÚkwargs©Ú	__class__© úN/var/www/html/env/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   Ústop1   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   Úshutdown7   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   Úinfo?   s   z
Tasks.info)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úrequiresr   r#   r'   r)   r+   Ú__classcell__r   r   r   r   r      s    r   N)r/   Úkombu.commonr   r   Úceleryr   Úcelery.utils.logr   Úmingler   Ú__all__r,   Úloggerr$   ÚStartStopStepr   r   r   r   r   Ú<module>   s    