Aumentar tiempo de respuesta en FAST-API

Tiempo de lectura: 2 minutos

Para extender el tiempo de respuesta en una aplicación FastAPI y evitar el error «504 Gateway Time-out», puedes ajustar el tiempo de espera del servidor web en el que estás ejecutando tu aplicación.

El tiempo de espera es el período durante el cual el servidor espera una respuesta antes de considerar que la solicitud ha fallado debido a que se ha excedido el tiempo de espera.

Aquí hay dos enfoques que puedes seguir, dependiendo de cómo estés ejecutando tu aplicación FastAPI:

  1. Gunicorn (Usando Gunicorn como servidor web): Si estás utilizando Gunicorn como servidor web para ejecutar tu aplicación FastAPI, puedes especificar el tiempo de espera usando la opción --timeout al ejecutar Gunicorn. Por ejemplo:
   gunicorn -k uvicorn.workers.UvicornWorker -t 600 myapp:app

En este ejemplo, myapp es el nombre de tu módulo FastAPI y app es la instancia de tu aplicación FastAPI. El valor 600 representa el tiempo de espera en segundos (10 minutos en este caso). Puedes ajustar este valor según tus necesidades.

  1. Uvicorn (Usando Uvicorn como servidor web): Si estás utilizando Uvicorn como servidor web para ejecutar tu aplicación FastAPI, puedes especificar el tiempo de espera usando la opción --timeout-keep-alive al ejecutar Uvicorn. Por ejemplo:
   uvicorn myapp:app --host 0.0.0.0 --port 8000 --timeout-keep-alive 600

Al igual que en el primer ejemplo, myapp es el nombre de tu módulo FastAPI y app es la instancia de tu aplicación FastAPI. El valor 600 representa el tiempo de espera en segundos.

Ajusta el tiempo de espera según la duración esperada de tu operación. Sin embargo, ten en cuenta que establecer un tiempo de espera demasiado alto puede hacer que tus aplicaciones sean más susceptibles a bloqueos prolongados. Es importante encontrar un equilibrio entre extender el tiempo de respuesta y garantizar que tu aplicación aún sea capaz de manejar múltiples solicitudes concurrentes de manera eficiente.

Deja un comentario