ÎncepețiÎncepe gratuit

Implementarea sarcinilor de fundal

API-ul tău de analiză a sentimentelor primește solicitări de procesare a unor loturi de sute de recenzii deodată. Pentru a gestiona acest lucru eficient, fără să-i faci pe utilizatori să aștepte, vei implementa procesarea sarcinilor de fundal, astfel încât cererile să fie procesate după ce răspunsul a fost trimis clientului.

Acest exercițiu face parte din cursul

Deployment AI în producție cu FastAPI

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă clasa pentru sarcini de fundal din fastapi.
  • Declară parametrul background_tasks pentru a gestiona cererea ca sarcină rulată în fundal.
  • Programează sarcina de procesare a textelor din recenzii folosind funcția process_reviews.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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"}
Editează și rulează codul