Coverage for docs_src/background_tasks/tutorial002.py: 100%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from typing import Union 1hijklmn
3from fastapi import BackgroundTasks, Depends, FastAPI 1hijklmn
5app = FastAPI() 1hijklmn
8def write_log(message: str): 1hijklmn
9 with open("log.txt", mode="a") as log: 1abcdefg
10 log.write(message) 1abcdefg
13def get_query(background_tasks: BackgroundTasks, q: Union[str, None] = None): 1hijklmn
14 if q: 1abcdefg
15 message = f"found query: {q}\n" 1abcdefg
16 background_tasks.add_task(write_log, message) 1abcdefg
17 return q 1abcdefg
20@app.post("/send-notification/{email}") 1hijklmn
21async def send_notification( 1hijklmn
22 email: str, background_tasks: BackgroundTasks, q: str = Depends(get_query)
23):
24 message = f"message to {email}\n" 1abcdefg
25 background_tasks.add_task(write_log, message) 1abcdefg
26 return {"message": "Message sent"} 1abcdefg