Casos del Exception Handler

Los Exception Handlers pueden utilizarse para resolver diversas situaciones habituales. Aquí listamos algunas y sus posibles soluciones.


Too Many Requests - Código de Estado 429

Muchas APIs implementan mecanismos de rate-limit que especifican una cantidad máxima de solicitudes que pueden ejecutarse en un período determinado de tiempo. A través de un Exception Handler podemos ajustar el funcionamiento de un flujo para mantenerse dentro de la tasa definida.

El flujo siguiente accede cientos de veces a una API que está configurada para aceptar como máximo 10 solicitudes por minuto.

Configuramos un Exception Handler para este flujo con las siguientes características:

  • Nombre: Too Many Requests

  • Disponibilidad del Handler: Flujo

  • Regla de Excepción: 429 Too Many Requests

  • Nombre: 429 Error Code

  • Retries: 2. En principio, un reintento sería suficiente, pero establecemos dos como margen de seguridad.

  • Seconds: 60. La API en cuestión libera tokens cada minuto, por lo tanto, esperamos un minuto completo antes de reiniciar las solicitudes.

  • Notificación para syslog y local. Es importante poder auditar y monitorear cuando se superan las tasas de utilización de una API.

  • Mensaje: Too many requests - RETRY

Acción por defecto

  • Notificación para syslog y local.

  • Mensaje: Too many requests - FATAL. En este caso podemos identificar que, a pesar de la manipulación de la excepción, el error persistió.

  • Acción final: Detener. Esta acción se tomará únicamente si la estrategia de esperar nuevos tokens falla, lo que indica que existe alguna situación no prevista que genera este error.

Esta estrategia garantiza el uso correcto de la API siempre que solo se ejecute una instancia de este flujo al mismo tiempo. Para forzar esta situación, puedes deshabilitar las ejecuciones concurrentes de flujo como se ilustra a continuación.

Last updated