Coverage for docs_src/background_tasks/tutorial002_an_py39.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-08-08 03:53 +0000

1from typing import Annotated, Union 1abcd

2 

3from fastapi import BackgroundTasks, Depends, FastAPI 1abcd

4 

5app = FastAPI() 1abcd

6 

7 

8def write_log(message: str): 1abcd

9 with open("log.txt", mode="a") as log: 1abcd

10 log.write(message) 1abcd

11 

12 

13def get_query(background_tasks: BackgroundTasks, q: Union[str, None] = None): 1abcd

14 if q: 1abcd

15 message = f"found query: {q}\n" 1abcd

16 background_tasks.add_task(write_log, message) 1abcd

17 return q 1abcd

18 

19 

20@app.post("/send-notification/{email}") 1abcd

21async def send_notification( 1abcd

22 email: str, background_tasks: BackgroundTasks, q: Annotated[str, Depends(get_query)] 

23): 

24 message = f"message to {email}\n" 1abcd

25 background_tasks.add_task(write_log, message) 1abcd

26 return {"message": "Message sent"} 1abcd