
    df                         d dl Z d dlZe j                  dk\  rd dlmZ nd dlmZ d dlmZ d dlmZ  ed      Z	 G d d      Z
 G d	 d
e
      Zy)    N)   
   )	ParamSpec)is_async_callable)run_in_threadpoolPc                       e Zd Zdej                  eej                  f   dej                  dej                  ddfdZ	ddZ
y)	BackgroundTaskfuncargskwargsreturnNc                 N    || _         || _        || _        t        |      | _        y N)r   r   r   r   is_async)selfr   r   r   s       M/home/api-vastappli/venv/lib/python3.12/site-packages/starlette/background.py__init__zBackgroundTask.__init__   s%     		)$/    c                    K   | j                   r/ | j                  | j                  i | j                   d {    y t	        | j                  g| j                  i | j                   d {    y 7 ;7 wr   )r   r   r   r   r   )r   s    r   __call__zBackgroundTask.__call__   s[     ==$))TYY6$++666#DIII		IT[[III 7Is!   6A8A45A8.A6/A86A8r   N)__name__
__module____qualname__typingCallabler   Anyr   r   r   r    r   r   r
   r
      sF    0OOAvzzM20;<660MNXX0	0Jr   r
   c                       e Zd Zd
dej                  ej
                  e      fdZdej                  e	ej                  f   de	j                  de	j                  ddfdZdd	Zy)BackgroundTasksNtasksc                 8    |rt        |      | _        y g | _        y r   )listr"   )r   r"   s     r   r   zBackgroundTasks.__init__    s    $)T%[
r
r   r   r   r   r   c                 X    t        |g|i |}| j                  j                  |       y r   )r
   r"   append)r   r   r   r   tasks        r   add_taskzBackgroundTasks.add_task#   s*     d4T4V4

$r   c                 P   K   | j                   D ]  } |        d {     y 7 wr   )r"   )r   r'   s     r   r   zBackgroundTasks.__call__)   s%     JJ 	D&LL	s   &$&r   r   )r   r   r   r   OptionalSequencer
   r   r   r   r   r   r   r(   r   r   r   r   r!   r!      sc    2foofoon.MN 2 OOAvzzM2 ;<66 MNXX 	 r   r!   )sysr   version_infor   typing_extensionsstarlette._utilsr   starlette.concurrencyr   r   r
   r!   r   r   r   <module>r1      sF    
 w + . 3cNJ J n r   