
    i                     x    d dl mZ d dlmZmZ d dlmZ d dlmZ	 d dl
mZ  ed          Z G d de	          Zd	S )
    )Callable)	AnnotatedAny)Doc)BackgroundTasks)	ParamSpecPc                   z     e Zd ZdZdeeeef          ed          f         dej	        dej
        ddf fdZ xZS )	r   aG  
    A collection of background tasks that will be called after a response has been
    sent to the client.

    Read more about it in the
    [FastAPI docs for Background Tasks](https://fastapi.tiangolo.com/tutorial/background-tasks/).

    ## Example

    ```python
    from fastapi import BackgroundTasks, FastAPI

    app = FastAPI()


    def write_notification(email: str, message=""):
        with open("log.txt", mode="w") as email_file:
            content = f"notification for {email}: {message}"
            email_file.write(content)


    @app.post("/send-notification/{email}")
    async def send_notification(email: str, background_tasks: BackgroundTasks):
        background_tasks.add_task(write_notification, email, message="some notification")
        return {"message": "Notification sent in the background"}
    ```
    funcz
                The function to call after the response is sent.

                It can be a regular `def` function or an `async def` function.
                argskwargsreturnNc                 >     t                      j        |g|R i |S )z
        Add a function to be called in the background after the response is sent.

        Read more about it in the
        [FastAPI docs for Background Tasks](https://fastapi.tiangolo.com/tutorial/background-tasks/).
        )superadd_task)selfr   r   r   	__class__s       O/root/projects/qq-shell/venv/lib/python3.11/site-packages/fastapi/background.pyr   zBackgroundTasks.add_task(   s,    *  uww6t666v666    )__name__
__module____qualname____doc__r   r   r	   r   r   r   r   r   __classcell__)r   s   @r   r   r      s         87QVC 	
7 v7 (7 
7 7 7 7 7 7 7 7 7 7r   r   N)collections.abcr   typingr   r   annotated_docr   starlette.backgroundr   StarletteBackgroundTaskstyping_extensionsr   r	    r   r   <module>r"      s    $ $ $ $ $ $ ! ! ! ! ! ! ! !       L L L L L L ' ' ' ' ' 'IcNN27 27 27 27 27. 27 27 27 27 27r   