Documentation is being updated. Some sections may not reflect the latest features.

Nodo Try / Catch

El nodo Try / Catch agrega manejo de errores y lógica de reintentos a sus workflows. Captura errores de nodos anteriores y puede reintentar automáticamente la sección fallida antes de dirigir al camino de error.

Cómo funciona

Coloque el nodo Try / Catch después de una secuencia de pasos que desea proteger. Cuando el flujo llega a este nodo:

  1. Si todos los pasos anteriores se completaron correctamente, el flujo continúa por la salida SUCCESS.
  2. Si ocurrió un error, el nodo reintenta la sección fallida según su configuración de reintentos.
  3. Si se agotan todos los reintentos, el flujo se dirige por la salida ERROR.
Start → API Call → Process Data → [Try / Catch]
                                      ├── SUCCESS → Save Result → End
                                      └── ERROR → Send Alert → End

Configuración

Reintentos máximos

El número máximo de intentos de reintento antes de desistir. Establezca en 0 para desactivar los reintentos y solo capturar errores.

Valor Comportamiento
0 Sin reintentos – los errores van directamente a la salida ERROR
1–3 Adecuado para fallos transitorios (timeouts de red, límites de tasa)
5+ Usar con precaución – considere el tiempo total de ejecución

Tipo de Backoff

Controla cómo cambia el retraso entre reintentos a lo largo del tiempo.

  • Fixed – Siempre el mismo retraso. Ejemplo con 2s de retraso: 2s → 2s → 2s → 2s
  • Exponential – El retraso se duplica con cada intento. Ejemplo con 1s de retraso: 1s → 2s → 4s → 8s

Se recomienda el backoff exponencial al llamar APIs externas, ya que da a los servicios sobrecargados progresivamente más tiempo para recuperarse.

Retraso de reintento

El tiempo de espera base entre intentos de reintento. Se combina con la unidad de retraso (milisegundos, segundos o minutos).

Para backoff exponencial, este es el retraso inicial – los retrasos posteriores se calculan como delay × 2^(attempt - 1).

Al agotar los reintentos

Qué sucede cuando todos los intentos de reintento han fallado:

  • Continue to error path – Dirige el flujo por el puerto de salida ERROR. Use esto cuando quiera manejar el fallo de forma elegante (registrarlo, enviar una notificación, devolver un valor alternativo).
  • Stop flow with error – Termina toda la ejecución del workflow con un estado de error. Use esto cuando el fallo es irrecuperable.

Salidas

Puerto Descripción
SUCCESS El flujo continúa aquí cuando no ocurrió ningún error o un reintento fue exitoso
ERROR El flujo continúa aquí cuando se agotan todos los reintentos (solo si se seleccionó "Continue to error path")

Ejemplos

Reintentar una llamada API inestable

HTTP Request → [Try / Catch: 3 retries, 2s fixed delay]
                   ├── SUCCESS → Parse Response
                   └── ERROR → Return Default Value

Backoff exponencial para APIs con límite de tasa

HTTP Request → [Try / Catch: 5 retries, 1s exponential]
                   ├── SUCCESS → Store Data
                   └── ERROR → Log Error → Notify Team

Solo captura (sin reintento)

Code Node → [Try / Catch: 0 retries]
                ├── SUCCESS → Continue
                └── ERROR → Send Error Report

Aspectos a tener en cuenta

  • Los nodos anteriores al Try / Catch se volverán a ejecutar en un reintento. Si un nodo envía un correo electrónico o escribe en una base de datos, ese efecto secundario ocurrirá de nuevo. Asegúrese de que las operaciones reintentadas sean seguras de repetir (idempotentes).
  • El tiempo total de ejecución se acumula. 5 reintentos con backoff exponencial de 4s significan esperar hasta 1 + 2 + 4 + 8 + 16 = 31 segundos antes de que se active el camino de error.
  • El número de reintentos y el último mensaje de error están disponibles como variables en nodos posteriores, para que pueda incluirlos en informes de error o registros.
AI AssistantPowered by Ubex
Beta
Ask me anything about Ubex workflows, nodes, or the API.
~/

Hola 👋

¿Cómo podemos ayudarte hoy?