Začněte nyníZačněte zdarma

Implementace úloh na pozadí

Tvoje API pro analýzu sentimentu začíná dostávat požadavky na zpracování stovek recenzí najednou. Aby uživatelé nemuseli čekat, implementuješ zpracování úloh na pozadí – požadavky se tak budou zpracovávat až po odeslání odpovědi klientovi.

Toto cvičení je součástí kurzu

Nasazení AI do produkce s FastAPI

Zobrazit kurz

Pokyny k cvičení

  • Importuj třídu pro úlohy na pozadí z fastapi.
  • Deklaruj parametr background_tasks, který zpracuje požadavek jako úlohu běžící na pozadí.
  • Naplánuj úlohu analýzy textů recenzí pomocí funkce process_reviews.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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"}
Upravit a spustit kód