Zacznij terazZacznij za darmo

Implementowanie zadań w tle

Twoje API do analizy wydźwięku zaczyna otrzymywać żądania przetwarzania setek recenzji naraz. Aby obsługiwać je sprawnie i nie kazać użytkownikom czekać, zaimplementujesz przetwarzanie zadań w tle – dzięki temu żądania będą realizowane już po wysłaniu odpowiedzi do klienta.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj klasę zadań w tle z fastapi.
  • Zadeklaruj parametr background_tasks, aby obsłużyć żądanie jako zadanie działające w tle.
  • Zaplanuj zadanie przetwarzania, które analizuje teksty recenzji, używając funkcji process_reviews.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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"}
Edytuj i uruchom kod