LoslegenKostenlos loslegen

Hintergrundaufgaben implementieren

Deine Sentiment-Analyse-API erhält Anfragen, bei denen Hunderte von Bewertungen auf einmal verarbeitet werden sollen. Damit das effizient läuft, ohne dass Nutzer warten müssen, implementierst du die Verarbeitung als Hintergrundaufgabe, sodass Anfragen weiter nach dem Senden der Antwort an den Client verarbeitet werden.

Diese Übung ist Teil des Kurses

KI in der Produktion mit FastAPI bereitstellen

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Klasse für Hintergrundaufgaben aus fastapi.
  • Deklariere den Parameter background_tasks, damit die Anfrage als Aufgabe im Hintergrund ausgeführt wird.
  • Plane die Verarbeitungsaufgabe zur Analyse der Bewertungstexte mit der Funktion process_reviews ein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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"}
Code bearbeiten und ausführen