
    leJi                         d Z ddlZddl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dd
ZddZ	 ddZ	 ddZdS )z*The consumers highly-optimized inner loop.    N)	bootsteps)WorkerLostError)
get_logger   )state)asynloopsynloop皙?c                     	 |                      |           d S # t          $ r5}t          |dd           }||t          j        k    r Y d }~d S Y d }~d S d }~ww xY w)Ntimeouterrno)drain_events	Exceptiongetattrr   EAGAIN)
connectionr   exc	exc_errnos       Y/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/celery/worker/loops.py_quick_drainr      s    00000   C$//	 Y%,%>%> !     %>%>%>%>%>%>s    
A$AA       @c                     d gsS                                  }|rj        sS fd}|                     ||z  ||f           S )Nc                 n    	                      |            d S # t          $ r}|d<   Y d }~d S d }~ww xY w)Nr   )heartbeat_checkr   )rateer   heartbeat_errors     r   tickz#_enable_amqheartbeats.<locals>.tick&   s_    	#&&t,,,,, 	# 	# 	# "#OA	#s    
4/4)get_heartbeat_intervalsupports_heartbeatscall_repeatedly)timerr   r   	heartbeatr   r   s    `   @r   _enable_amqheartbeatsr%      s    fO 1133I *8 # # # # # # 
)d*D4':::    c	                    t           j        }	|j        }
|j        }|                                 }t          |j        ||          }||_        | j        	                    |           | 	                    |           |
                                 |                                  | j        s(| j                                        st          d          |j        j        dk    r|                    t&          |           ||_        |                                }	 |j        |	k    r| j        rt-          j                     |d         |d         |j        |j        k    r
 |
             	 t7          |           n$# t8          $ r |                                }Y nw xY w|j        |	k    r| j        	 |                                 dS # t<          $ r&}t>                               d|           Y d}~dS d}~ww xY w# 	 |                                 w # t<          $ r%}t>                               d|           Y d}~w d}~ww xY wxY w)zNon-blocking event loop.r   z Could not start worker processesamqpr   Nz&Error cleaning up after event loop: %r)!r   RUNupdateconnection_errorscreate_task_handlerr%   r#   
on_message
controllerregister_with_event_loopconsumeon_readyrestart_countpooldid_start_okr   	transportdriver_type	call_soonr   propagate_errorscreate_loopr   r   maybe_shutdownprevvaluenextStopIterationresetr   logger	exception)objr   consumer	blueprinthubqosr$   clockhbrater*   
update_qoserrorson_task_receivedr   loopr   s                   r   r   r   2   s    -CJ)F..00+CIzOOOO*HN++C000  %%%LLNNN
  BSX%:%:%<%< B@AAA
 '611lJ/// "C??D?o$$$ """q!-%a((
 x39$$
)T



  ) ) )(() o$$$ 	?IIKKKKK 	? 	? 	?8#? ? ? ? ? ? ? ? ?	?	?IIKKKK 	? 	? 	?8#? ? ? ? ? ? ? ?	?ss   AG: *E: 9G: :FG: FG: 1G 
G7G22G7:I<HI
I H;6I;I  Ic	                    t           j        |                                 }
| j        dgt	          | j        dd          rt          | j        |          |
|_        |	                                 | 
                                 fd}j        k    rI| j        rD	 t          j                      |             n#  |             w xY wj        k    r| j        @dS dS dS dS )zEFallback blocking event loop for transports that doesn't support AIO.Nis_greenFr(   c                     d         d         j         j        k    r                                 	                                   d           dS # t          j        $ r Y dS t          $ r j         k    r Y dS w xY w)zC
        Perform one iteration of the blocking event loop.
        r   Nr   r   )r<   r=   r+   r   socketr   OSErrorr   )r*   rE   r   r   perform_pending_operationsrG   s   r   _loop_cyclezsynloop.<locals>._loop_cyclez   s     1)!!$$8sy  JJLLL	&&(((##C#00000~ 	 	 	DD 	 	 	#%% &%%	s    A B+BB)r   r*   r-   rS   r   r4   r%   r#   r.   r1   r2   r   r   r;   )rC   r   rD   rE   rF   rG   r$   rH   rI   kwargsrL   rT   r*   r   rS   s    ` ` `      @@@r   r	   r	   l   s.    -C..00!$!?fOsxU++ T/	:FSSS*HLLNNN         " /S
 
 S^
 	 """KMMMMKKMMMM	 /S
 
 S^
 
 
 
 
 
 
 
 
 s   *C C)r
   )r   )__doc__r   rQ   celeryr   celery.exceptionsr   celery.utils.logr    r   __all____name__rA   r   r%   r   r	    r&   r   <module>r^      s    0 0         - - - - - - ' ' ' ' ' '      
!
 
H		      . '*7? 7? 7? 7?v &)# # # # # #r&   