Вопрос о создании фоновых задач в FastAPI.
FastAPI использует BackgroundTasks для запуска фоновых задач после отправки ответа клиенту.
Импорт: Используйте BackgroundTasks из FastAPI.
Определение задачи: Напишите функцию для выполнения задачи.
Добавление задачи: В маршруте используйте background_tasks.add_task() для запуска задачи.
Пример:
from fastapi import FastAPI, BackgroundTasks
app = FastAPI()
def write_log(message: str):
with open("log.txt", "a") as log_file:
log_file.write(f"{message}\n")
@app.post("/send/")
async def send_message(message: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_log, message)
return {"message": "Message sent!"}Когда использовать:
Для длительных операций, не требующих немедленного ответа (например, запись логов, уведомления).