o
    ›¨Êh.  ã                   @   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                   @   s\   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   úC/var/www/html/env/lib/python3.10/site-packages/celery/app/events.pyÚ__init__   s   
zEvents.__init__c                 C   ó   | j j| jdd�S )Nzevents.Receiver©Úreverse)r   Úsubclass_with_selfÚreceiver_cls©r   r   r   r	   ÚReceiver   ó   ÿzEvents.Receiverc                 C   r   )Nzevents.Dispatcherr   )r   r   Údispatcher_clsr   r   r   r	   Ú
Dispatcher   r   zEvents.Dispatcherc                 C   r   )Nzevents.Stater   )r   r   Ú	state_clsr   r   r   r	   ÚState   r   zEvents.StateTFc              	   c   s†   � | j jjjdd��/}|  |j|||j|¡�}|V  W d   ƒ n1 s$w   Y  W d   ƒ d S W d   ƒ d S 1 s<w   Y  d S )NT)Úblock)r   ÚamqpÚproducer_poolÚacquirer   Ú
connectionÚchannel)r   ÚhostnameÚenabledÚbuffer_while_offlineÚprodÚdr   r   r	   Údefault_dispatcher    s   €ÿþý"ýzEvents.default_dispatcherr   )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   Úkombu.utils.objectsr   r   r   r   r   r	   Ú<module>   s    