
     h                     d    d Z ddlmZmZ ddlmZmZ dZ G d d          Z G d d	e          Z	d
S )zThread execution pool.    )ThreadPoolExecutorwait   )BasePoolapply_target)TaskPoolc                       e Zd Zd ZddZdS )ApplyResultc                 6    || _         | j         j        | _        d S N)fresultget)selffutures     U/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/celery/concurrency/thread.py__init__zApplyResult.__init__   s    6=    Nc                 2    t          | j        g|           d S r   )r   r   )r   timeouts     r   r   zApplyResult.wait   s    dfXwr   r   )__name__
__module____qualname__r   r    r   r   r
   r
   
   s7        ! ! !           r   r
   c                   F     e Zd ZdZdZdZ fdZ fdZ	 	 d	dZd Z	 xZ
S )
r   zThread Task Pool.TFc                 n     t                      j        |i | t          | j                  | _        d S )N)max_workers)superr   r   limitexecutor)r   argskwargs	__class__s      r   r   zTaskPool.__init__   s7    $)&)))*tzBBBr   c                 z    | j                                          t                                                       d S r   )r    shutdownr   on_stop)r   r#   s    r   r&   zTaskPool.on_stop   s1       r   Nc                 h    | j                             t          |||||          }t          |          S r   )r    submitr   r
   )r   targetr!   r"   callbackaccept_callback_r   s           r   on_applyzTaskPool.on_apply!   s2    M  vtV!)?< <1~~r   c                 D    | j         t          | j        j                  dS )N)zmax-concurrencythreads)r   lenr    _threads)r   s    r   	_get_infozTaskPool._get_info'   s&    #z4=122
 
 	
r   )NNNN)r   r   r   __doc__body_can_be_buffersignal_safer   r&   r-   r2   __classcell__)r#   s   @r   r   r      s        KC C C C C     AE!%   
 
 
 
 
 
 
r   r   N)
r3   concurrent.futuresr   r   baser   r   __all__r
   r   r   r   r   <module>r:      s      7 7 7 7 7 7 7 7 ( ( ( ( ( ( ( (
               
 
 
 
 
x 
 
 
 
 
r   