
    h                     Z    d Z ddlmZ ddlmZ ddlmZ dZ G d dej                        Z	y	)
zYWorker Event Dispatcher Bootstep.

``Events`` -> :class:`celery.events.EventDispatcher`.
    )ignore_errors)	bootsteps   )
Connection)Eventsc                   H     e Zd ZdZefZ	 	 	 d fd	Zd Zd Zd Z	d Z
 xZS )r   z+Service used for sending monitoring events.c                     |rd ndg| _         |xs | xs | | _        | j                  | _        d |_        t	        |   |fi | y )Nworker)groupssend_eventsenabledevent_dispatchersuper__init__)selfctask_eventswithout_heartbeatwithout_gossipkwargs	__class__s         Y/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/worker/consumer/events.pyr   zEvents.__init__   s\    
 *dz ""!! 	
 ''!%f%    c                 x   | j                  |      }|j                  j                  j                  |j	                         |j
                  | j                  | j                  |j                  rdgnd |j                  r|j                  nd       x}|_
        |r"|j                  |       |j                          y y )Ntask)hostnamer   r   buffer_groupon_send_buffered)_closeappevents
Dispatcherconnection_for_writer   r   r   hubon_send_event_bufferedr   extend_bufferflush)r   r   prevdiss       r   startzEvents.start"   s    {{1~#$55<<#:#:""$ZZ$$;; &'UU&9:Q55D $; 	$
 		
a  d#IIK r   c                      y N r   r   s     r   stopzEvents.stop3   s    r   c                     |j                   rh|j                   }|j                  | _        |j                  r t        ||j                  j                         t        ||j                         d |_         |S y r,   )r   r   
connectionr   close)r   r   
dispatchers      r   r   zEvents._close6   sg    ++J$++DK $$a!6!6!<!<=!Z--.!%A r   c                 &    | j                  |       y r,   )r   r.   s     r   shutdownzEvents.shutdownC   s    Ar   )TFF)__name__
__module____qualname____doc__r   requiresr   r*   r/   r   r5   __classcell__)r   s   @r   r   r      s1    5}H "#( %&"r   r   N)
r9   kombu.commonr   celeryr   r1   r   __all__StartStopStepr   r-   r   r   <module>r@      s,    '  "
6Y$$ 6r   