CommencerCommencer gratuitement

Mise en œuvre des tâches en arrière-plan

Votre API d'analyse des sentiments reçoit des demandes pour traiter des centaines d'avis à la fois. Pour gérer cela efficacement sans faire attendre les utilisateurs, vous allez mettre en place un traitement des tâches en arrière-plan afin que les requêtes soient traitées après l'envoi d'une réponse au client.

Cet exercice fait partie du cours

Déployer l'IA en production avec FastAPI

Afficher le cours

Instructions

  • Veuillez importer la classe de tâche en arrière-plan à partir de fastapi.
  • Déclarez le paramètre d'background_tasks pour traiter la requête comme une tâche s'exécutant en arrière-plan.
  • Planifiez la tâche de traitement consistant à analyser les textes des avis à l'aide de la fonction « process_reviews ».

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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"}
Modifier et exécuter le code