
    E2ib                        d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ  ed          Z G d d          Z G d	 d
e          ZdS )    )annotations)CallableSequence)Any	ParamSpec)is_async_callable)run_in_threadpoolPc                      e Zd Zdd	Zdd
ZdS )BackgroundTaskfuncCallable[P, Any]argsP.argskwargsP.kwargsreturnNonec                X    || _         || _        || _        t          |          | _        d S N)r   r   r   r   is_async)selfr   r   r   s       S/var/www/html/pixcura-vrs/venv/lib/python3.11/site-packages/starlette/background.py__init__zBackgroundTask.__init__   s*    		)$//    c                   K   | j         r | j        | j        i | j         d {V  d S t	          | j        g| j        R i | j         d {V  d S r   )r   r   r   r   r	   )r   s    r   __call__zBackgroundTask.__call__   s      = 	J$)TY6$+66666666666#DII	IIIT[IIIIIIIIIIIr   Nr   r   r   r   r   r   r   r   r   r   )__name__
__module____qualname__r   r    r   r   r   r      sB        0 0 0 0J J J J J Jr   r   c                  (    e Zd ZdddZddZddZdS )BackgroundTasksNtasksSequence[BackgroundTask] | Nonec                6    |rt          |          ng | _        d S r   )listr&   )r   r&   s     r   r   zBackgroundTasks.__init__   s    $)1T%[[[r


r   r   r   r   r   r   r   r   r   c                Z    t          |g|R i |}| j                            |           d S r   )r   r&   append)r   r   r   r   tasks        r   add_taskzBackgroundTasks.add_task   s;    d4T444V44
$r   c                >   K   | j         D ]} |             d {V  d S r   )r&   )r   r,   s     r   r   zBackgroundTasks.__call__"   s:      J 	 	D$&&LLLLLLLL	 	r   r   )r&   r'   r   r   )r    r!   r"   r   r-   r   r#   r   r   r%   r%      sU        2 2 2 2 2            r   r%   N)
__future__r   collections.abcr   r   typingr   r   starlette._utilsr   starlette.concurrencyr	   r
   r   r%   r#   r   r   <module>r4      s    " " " " " " . . . . . . . . ! ! ! ! ! ! ! ! . . . . . . 3 3 3 3 3 3IcNNJ J J J J J J J
 
 
 
 
n 
 
 
 
 
r   