ComenzarEmpieza gratis

Implementación de tareas en segundo plano

Tu API de análisis de sentimientos está recibiendo solicitudes para procesar lotes de cientos de reseñas a la vez. Para gestionar esto de forma eficiente sin hacer esperar a los usuarios, implementarás el procesamiento de tareas en segundo plano, de modo que las solicitudes se procesen después de enviar una respuesta al cliente.

Este ejercicio forma parte del curso

Implementación de IA en producción con FastAPI

Ver curso

Instrucciones del ejercicio

  • Importa la clase de tarea en segundo plano desde fastapi.
  • Declara el parámetro background_tasks para gestionar la solicitud como una tarea que se ejecuta en segundo plano.
  • Programa la tarea de procesamiento de análisis de los textos de las reseñas mediante la función « process_reviews » (Procesar reseñas).

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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"}
Editar y ejecutar código