ComeçarComece de graça

Implementando tarefas em segundo plano

A tua API de análise de sentimentos está recebendo pedidos para processar centenas de avaliações de uma vez só. Para lidar com isso de forma eficiente, sem deixar os usuários esperando, você vai implementar o processamento de tarefas em segundo plano, para que as solicitações sejam processadas depois de enviar uma resposta para o cliente.

Este exercício faz parte do curso

Implementando IA na produção com FastAPI

Ver curso

Instruções do exercício

  • Importa a classe de tarefa em segundo plano de fastapi.
  • Declare o parâmetro background_tasks para processar a solicitação como uma tarefa em segundo plano.
  • Agende a tarefa de processamento de análise dos textos das avaliações usando a função “ process_reviews ”.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código