EmpezarEmpieza gratis

Implementar tareas en segundo plano

Tu API de análisis de sentimiento está recibiendo solicitudes para procesar lotes de cientos de reseñas a la vez. Para gestionarlo de forma eficiente sin hacer que los usuarios esperen, vas a implementar el procesamiento de tareas en segundo plano para 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 tareas en segundo plano desde fastapi.
  • Declara el parámetro background_tasks para gestionar la solicitud como una tarea que se ejecute en segundo plano.
  • Programa la tarea de procesamiento que analiza los textos de las reseñas usando la función process_reviews.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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