
    `f                        d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZmZ dZerddlmZ  ed	eed
          Ze
de	f         Z G d d          Z G d de          ZdS )zThread execution pool.    )annotations)FutureThreadPoolExecutorwait)TYPE_CHECKINGAnyCallable   )BasePoolapply_target)TaskPool)	TypedDictPoolInfozmax-concurrencythreads.c                       e Zd Zd
dZddd	ZdS )ApplyResultfuturer   returnNonec                6    || _         | j         j        | _        d S N)fresultget)selfr   s     K/var/www/html/env/lib/python3.11/site-packages/celery/concurrency/thread.py__init__zApplyResult.__init__   s    6=    Ntimeoutfloat | Nonec                2    t          | j        g|           d S r   )r   r   )r   r    s     r   r   zApplyResult.wait   s    dfXwr   )r   r   r   r   r   )r    r!   r   r   )__name__
__module____qualname__r   r    r   r   r   r      sA        ! ! ! !             r   r   c                  b     e Zd ZU dZded<   dZdZd fdZd fdZ	 	 	 	 dddZ	d fdZ
 xZS )r   zThread Task Pool.intlimitTFargsr   kwargsr   r   c                n     t                      j        |i | t          | j                  | _        d S )N)max_workers)superr   r   r)   executor)r   r*   r+   	__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   r0   s    r   r3   zTaskPool.on_stop)   s1       r   NtargetTargetFunctiontuple[Any, ...] | Nonedict[str, Any] | NonecallbackCallable[..., Any] | Noneaccept_callback_r   c                h    | j                             t          |||||          }t          |          S r   )r/   submitr   r   )r   r4   r*   r+   r8   r:   r;   r   s           r   on_applyzTaskPool.on_apply-   s4     M  vtV!)?< <1~~r   r   c                    t                                                      }|                    | j        t	          | j        j                  d           |S )Nr   )r.   	_get_infoupdater)   lenr/   _threads)r   infor0   s     r   r@   zTaskPool._get_info:   sT    ww  ""#z4=122
 
 	 	 	 r   )r*   r   r+   r   r   r   )r   r   )NNNN)r4   r5   r*   r6   r+   r7   r8   r9   r:   r9   r;   r   r   r   )r   r   )r#   r$   r%   __doc____annotations__body_can_be_buffersignal_safer   r3   r>   r@   __classcell__)r0   s   @r   r   r      s         JJJKC C C C C C      (,(,.259             r   r   N)rE   
__future__r   concurrent.futuresr   r   r   typingr   r   r	   baser   r   __all__r   r(   r   r5   r   r   r&   r   r   <module>rO      s     " " " " " " ? ? ? ? ? ? ? ? ? ? / / / / / / / / / / ( ( ( ( ( ( ( (
 (      y%M%MNNH c3h'N               " " " " "x " " " " "r   