Kom igångKom igång gratis

Implementera bakgrundsuppgifter

Ditt sentimentanalys-API tar emot förfrågningar om att bearbeta hundratals recensioner i ett enda batch. För att hantera detta effektivt utan att användarna behöver vänta, ska du implementera bearbetning av bakgrundsuppgifter så att förfrågningarna behandlas efter att ett svar har skickats till klienten.

Den här övningen är en del av kursen

Driftsättning av AI i produktion med FastAPI

Visa kurs

Övningsinstruktioner

  • Importera klassen för bakgrundsuppgifter från fastapi.
  • Deklarera parametern background_tasks för att hantera förfrågan som en uppgift som körs i bakgrunden.
  • Schemalägg bearbetningsuppgiften för att analysera recensionernas texter med hjälp av funktionen process_reviews.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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"}
Redigera och kör kod