
    h                        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y)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y)ApplyResultc                H    || _         | j                   j                  | _        y N)fresultget)selffutures     U/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/concurrency/thread.py__init__zApplyResult.__init__   s    66==    Nc                2    t        | j                  g|       y r   )r   r   )r   timeouts     r   r   zApplyResult.wait   s    dffXwr   )r   r   returnNoner   )r   zfloat | Noner    r!   )__name__
__module____qualname__r   r    r   r   r   r      s    ! r   r   c                  |     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limitTFc                Z    t        |   |i | t        | j                        | _        y )N)max_workers)superr   r   r(   executor)r   argskwargs	__class__s      r   r   zTaskPool.__init__%   s%    $)&)*tzzBr   c                V    | j                   j                          t        |           y r   )r,   shutdownr+   on_stop)r   r/   s    r   r2   zTaskPool.on_stop)   s     r   c                `    | j                   j                  t        |||||      }t        |      S r   )r,   submitr   r   )r   targetr-   r.   callbackaccept_callback_r   s           r   on_applyzTaskPool.on_apply-   s/     MM  vtV!)?<1~r   c                    t         |          }|j                  | j                  t	        | j
                  j                        d       |S )Nr   )r+   	_get_infoupdater(   lenr,   _threads)r   infor/   s     r   r;   zTaskPool._get_info:   sA    w "#zz4==112
 	 r   )r-   r   r.   r   r    r!   )r    r!   )NNNN)r5   TargetFunctionr-   ztuple[Any, ...] | Noner.   zdict[str, Any] | Noner6   Callable[..., Any] | Noner7   rA   r8   r   r    r   )r    r   )r"   r#   r$   __doc____annotations__body_can_be_buffersignal_safer   r2   r9   r;   __classcell__)r/   s   @r   r   r      s    JKC (,(,.259 % &	
 , 3  
 r   r   N)rB   
__future__r   concurrent.futuresr   r   r   typingr   r   r	   baser   r   __all__r   r'   r   r@   r   r   r%   r   r   <module>rL      s\     " ? ? / / (
 %MNH c3h'N   "x "r   