ПочатиПочніть безкоштовно

Реалізація фонових завдань

Ваш API для аналізу тональності отримує запити на обробку сотень відгуків одночасно. Щоб ефективно це опрацювати й не змушувати користувачів чекати, реалізуйте обробку у фоновому режимі, щоб запити оброблялися після надсилання відповіді клієнту.

Ця вправа є частиною курсу

Розгортання AI у продакшні з FastAPI

Переглянути курс

Інструкції до вправи

  • Імпортуйте клас фонових завдань з fastapi.
  • Оголосіть параметр background_tasks, щоб обробляти запит як завдання, що виконується у фоновому режимі.
  • Заплануйте завдання з аналізу текстів відгуків за допомогою функції process_reviews.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import the background task class
from fastapi import ____
# Create a background task dependency
@app.post("/analyze_batch")
async def analyze_batch(
    reviews: Reviews,
    background_tasks: ____
):
    async def process_reviews(texts: List[str]):
        for text in texts:
            result = await asyncio.to_thread(sentiment_model, text)
            print(f"Processed: {result[0]['label']}")
    # Add the task of analysing reviews' texts to the background
    background_tasks.____(process_reviews, reviews.texts)
    return {"message": "Processing started"}
Редагувати та запускати код