a
    xd.                     @   s.   d Z ddlmZ ddlmZ G dd dZdS )z,Implementation for the app.events shortcuts.    )contextmanager)cached_propertyc                   @   sX   e Zd ZdZdZdZdZdddZedd	 Z	ed
d Z
edd ZedddZdS )EventszImplements app.events.z$celery.events.receiver:EventReceiverz(celery.events.dispatcher:EventDispatcherzcelery.events.state:StateNc                 C   s
   || _ d S )N)app)selfr    r   I/var/www/html/Ranjet/env/lib/python3.9/site-packages/celery/app/events.py__init__   s    zEvents.__init__c                 C   s   | j j| jddS )Nzevents.Receiverreverse)r   subclass_with_selfreceiver_clsr   r   r   r   Receiver   s    zEvents.Receiverc                 C   s   | j j| jddS )Nzevents.Dispatcherr
   )r   r   dispatcher_clsr   r   r   r   
Dispatcher   s    zEvents.Dispatcherc                 C   s   | j j| jddS )Nzevents.Stater
   )r   r   	state_clsr   r   r   r   State   s    zEvents.StateTFc              	   c   sr   | j jjjddL}| |j|||j|}|V  W d    n1 sF0    Y  W d    n1 sd0    Y  d S )NT)block)r   ZamqpZproducer_poolacquirer   
connectionZchannel)r   hostnameZenabledZbuffer_while_offlineproddr   r   r   default_dispatcher    s    zEvents.default_dispatcher)N)NTF)__name__
__module____qualname____doc__r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r      s   



  r   N)r   
contextlibr   Zkombu.utils.objectsr   r   r   r   r   r   <module>   s   