U
    Z¨+d²  ã                   @   sV   d Z ddlmZ ddlmZ ddlmZ ddlmZ dZ	ee
ƒZG dd	„ d	ejƒZd
S )zªWorker Remote Control Bootstep.

``Control`` -> :mod:`celery.worker.pidbox` -> :mod:`kombu.pidbox`.

The actual commands are implemented in :mod:`celery.worker.control`.
é    )Ú	bootsteps)Ú
get_logger)Úpidboxé   )ÚTasks)ÚControlc                       s.   e Zd ZdZefZ‡ fdd„Zdd„ Z‡  ZS )r   zRemote control command service.c                    s^   |j d k	o|j j| _| jr tjntj|ƒ| _| jj| _| jj| _| jj| _t	ƒ j
|f|Ž d S )N)ÚpoolZis_greenr   ZgPidboxZPidboxZboxÚstartÚstopÚshutdownÚsuperÚ__init__)ÚselfÚcÚkwargs©Ú	__class__© úB/tmp/pip-unpacked-wheel-ucduq0nd/celery/worker/consumer/control.pyr      s    


zControl.__init__c                 C   s   |j jjo|j d¡S )NZfanout)ZappÚconfZworker_enable_remote_controlZconninfoZsupports_exchange_type)r   r   r   r   r   Ú
include_if   s    

ÿzControl.include_if)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úrequiresr   r   Ú__classcell__r   r   r   r   r      s   r   N)r   Zceleryr   Zcelery.utils.logr   Zcelery.workerr   Ztasksr   Ú__all__r   ÚloggerZStartStopStepr   r   r   r   r   Ú<module>   s   