Sobes.tech
Junior — Middle
88

Ar galite paaiškinti, kas yra BackgroundTasks FastAPI ir kaip jie naudojami užduotims fone vykdyti?

Įmonės kur klausė
РЕСО-Лизинг
Оптимакрос

Atsakymas iš 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 будет выполнена после отправки ответа клиенту, не блокируя основной поток.