Aan de slagBegin gratis

Achtergrondtaken implementeren

Je sentimentanalyse-API krijgt verzoeken om in één keer honderden reviews te verwerken. Om dit efficiënt af te handelen zonder gebruikers te laten wachten, ga je achtergrondverwerking implementeren zodat verzoeken worden verwerkt nadat je een reactie naar de client hebt gestuurd.

Deze oefening maakt deel uit van de cursus

AI in productie brengen met FastAPI

Bekijk cursus

Oefeninstructies

  • Importeer de achtergrondtaakklasse uit fastapi.
  • Declareer de parameter background_tasks om het verzoek als een taak op de achtergrond uit te voeren.
  • Plan de verwerkingstaak voor het analyseren van de reviewteksten in met de functie process_reviews.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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 bewerken en uitvoeren