
    `f                     X    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	d	S )
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.TFc                     |rd ndg| _         |p| p| | _        | j        | _        d |_         t	                      j        |fi | d S )Nworker)groupssend_eventsenabledevent_dispatchersuper__init__)selfctask_eventswithout_heartbeatwithout_gossipkwargs	__class__s         O/var/www/html/env/lib/python3.11/site-packages/celery/worker/consumer/events.pyr   zEvents.__init__   sq    
 *9ddz ""!! 	
 '!%%f%%%%%    c                 T   |                      |          }|j        j                            |                                |j        | j        | j        |j        rdgnd |j        r|j	        nd           x}|_
        |r+|                    |           |                                 d S d S )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~~#$5<#:#:""$$Z$; &'U4&9:HQ55D $; 	$
 	$
 		
a   	d###IIKKKKK	 	r   c                     d S N r   r   s     r   stopzEvents.stop3   s    r   c                     |j         rR|j         }|j        | _        |j        rt          ||j        j                   t          ||j                   d |_         |S d S r,   )r   r   
connectionr   close)r   r   
dispatchers      r   r   zEvents._close6   sm     
	+J$+DK $ >a!6!<===!Z-...!%A
	 
	r   c                 0    |                      |           d S 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      s        55}H "#( %& & & & & &  "          r   r   N)
r9   kombu.commonr   celeryr   r1   r   __all__StartStopStepr   r-   r   r   <module>r@      s     ' & & & & &       " " " " " "
6 6 6 6 6Y$ 6 6 6 6 6r   