�
K�g� � � � d dl mZ d dlZd dlZej dk rd dlmZ nd dlmZ d dlmZ d dl m
Z
ed� � Z G d� d � � Z G d
� de� � Z
dS )� )�annotationsN)� �
)� ParamSpec)�is_async_callable)�run_in_threadpool�Pc � � e Zd Zdd �Zd
d
�ZdS )�BackgroundTask�func�typing.Callable[P, typing.Any]�args�P.args�kwargs�P.kwargs�return�Nonec �X � || _ || _ || _ t |� � | _ d S �N)r r r r �is_async)�selfr r r s �d/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/starlette/background.py�__init__zBackgroundTask.__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__zBackgroundTask.__call__ s� � � � ��=� J��$�)�T�Y�6�$�+�6�6�6�6�6�6�6�6�6�6�6�#�D�I�I�� �I�I�I�T�[�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� Jr r c �( � e Zd Zddd�Zdd
�Zdd�ZdS )�BackgroundTasksN�tasks�&typing.Sequence[BackgroundTask] | Nonec �6 � |rt |� � ng | _ d S r )�listr% )r r% s r r zBackgroundTasks.__init__ s � �$)�1�T�%�[�[�[�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_taskzBackgroundTasks.add_task# s; � ��d�4�T�4�4�4�V�4�4���
���$�����r c � �>