Junior — Middle
71
Могли бы вы объяснить, что такое BackgroundTasks в FastAPI и как они используются для выполнения задач в фоновом режиме?
Companies where asked
РЕСО-Лизинг
Оптимакрос
Answer from AI
sobes.tech AI
В FastAPI BackgroundTasks — это механизм для выполнения задач в фоновом режиме после того, как ответ уже отправлен клиенту. Это полезно, когда нужно выполнить какую-то длительную операцию (например, отправку email, логирование, обновление базы), но не задерживать ответ.
Использование:
- Включаете
BackgroundTasksкак параметр в функцию обработчика. - Добавляете задачи через метод
add_task, передавая функцию и её аргументы.
Пример:
from fastapi import FastAPI, BackgroundTasks
app = FastAPI()
def write_log(message: str):
with open("log.txt", "a") as f:
f.write(message + "\n")
@app.post("/send")
async def send_message(background_tasks: BackgroundTasks):
background_tasks.add_task(write_log, "Message sent")
return {"message": "Request received"}
В этом примере функция write_log будет выполнена после отправки ответа клиенту, не блокируя основной поток.