Consulta los conectores compatibles con Application Integration.
Estrategias para gestionar errores en las tareas
La estrategia de gestión de errores de una tarea especifica la acción que se debe llevar a cabo si la tarea falla debido a un error temporal.
Configurar estrategias para gestionar errores
Para configurar una estrategia de gestión de errores para una tarea, sigue estos pasos:
- Haz clic en la tarea que ya tengas en el editor de integraciones. Aparecerá el panel de configuración de la tarea.
- En el panel de configuración de la tarea, despliega la sección Gestión de errores. En la siguiente imagen se muestra la sección Gestión de errores:
En la sección Gestión de errores, siga estos pasos:
- Para añadir una nueva política de errores, haz clic en + Add Failure Policy (Añadir política de errores). Si se configuran varias políticas de error condicional, se comprueban y se emparejan en orden.
- En el campo Estrategia de reintento, selecciona la estrategia de gestión de errores que quieras usar. Para ver una lista de estrategias, consulta Estrategias de reintento.
- En el campo Condición de reintento, introduzca la condición que debe coincidir con el error para que se ejecute esta estrategia de error. Por ejemplo, en una tarea Llamar a un punto final REST, para ejecutar la estrategia de error si el código de error coincide con
404
, introduce lo siguiente: Para obtener información sobre cómo añadir estas condiciones, consulta Condiciones de reintento.$`ErrorInfo.code`$ = 404
- En la sección Política de errores predeterminada, añade la política predeterminada que se debe aplicar si no coincide ninguna política de errores condicional. La política de errores predeterminada es opcional.
- En la sección Error catcher, añade el error catcher de tu integración.
- Para añadir una nueva política de errores, haz clic en + Add Failure Policy (Añadir política de errores). Si se configuran varias políticas de error condicional, se comprueban y se emparejan en orden.
Para obtener información sobre los códigos de error y la gestión de errores, consulta el artículo Gestión de errores.
Estrategias de reintento
En las siguientes tablas se describen las diferentes estrategias de gestión de errores que puedes usar en una tarea:
Tipo de estrategia | Descripción |
---|---|
Fatal | Detiene la ejecución de toda la integración y marca el estado de ejecución como Failed (Error). |
Ignorar | Ignora el error de la tarea. La integración sigue ejecutando las tareas siguientes, suponiendo que la tarea fallida se ha completado correctamente. |
Ninguno | Detiene la ejecución de la tarea y marca el estado de la integración como Failed (No procesado). Si existe una ruta alternativa a la tarea final (tarea hoja), se ejecutan las tareas de la ruta alternativa. Si todas las tareas de la ruta alternativa se ejecutan correctamente, el estado de la integración se marca como Completado. |
Reiniciar la integración con retroceso | Ejecuta toda la integración desde la primera tarea. Sin embargo, es posible que la tarea vuelva a fallar. Para evitar que se produzcan errores repetidos, especifica el intervalo de tiempo entre reinicios en el campo Intervalo de reintento (en segundos) y el número de intentos de reinicio permitidos en el campo Número máximo de reintentos. |
Reintentar la tarea con un tiempo de espera exponencial | Ejecuta la integración desde la tarea fallida. Si la tarea falla durante un reintento, el intervalo de tiempo entre cada intento aumenta en una potencia de 2. Se añade un retraso de entre 1 y 5 segundos al tiempo de espera.
Por ejemplo, si el intervalo de reintento especificado es de 3 segundos, el primer reintento se produce después de 3 segundos. El segundo reintento se produce después de 9 segundos, el tercero después de 81 segundos, y así sucesivamente. El proceso continúa hasta que se alcanza el número máximo de reintentos o la tarea se completa correctamente, lo que suceda antes. |
Reintentar tarea con intervalo fijo | Ejecuta la integración desde la tarea fallida. Si la tarea falla durante un reintento, el intervalo de tiempo entre cada intento de reintento sigue siendo constante.
Por ejemplo, si el intervalo de reintento especificado es de 3 segundos, los reintentos se producirán cada 3 segundos. El proceso continúa hasta que se alcanza el número máximo de reintentos o la tarea se completa correctamente, lo que suceda antes. |
Reintenta la tarea con un tiempo de espera lineal | Ejecuta la integración desde la tarea fallida. Si la tarea falla durante un reintento, el intervalo de tiempo entre cada intento aumenta de forma lineal. Se añade un retraso de entre 1 y 5 segundos al tiempo de espera.
Por ejemplo, si el intervalo de reintento especificado es de 3 segundos, el primer reintento se produce después de 3 segundos. El segundo reintento se produce después de 6 segundos, el tercero después de 9 segundos y así sucesivamente. El proceso continúa hasta que se alcanza el número máximo de reintentos o la tarea se completa correctamente, lo que suceda antes. |
Reintentos de retirada
El límite de simultaneidad predeterminado es de 50 ejecuciones por proyecto y región. Las ejecuciones fallidas se ponen en cola y se vuelven a intentar mediante un algoritmo de retirada exponencial, que aumenta gradualmente el tiempo de espera entre reintentos hasta 10 veces. Por ejemplo:
- Ejecuta una integración.
- Si la solicitud falla, espera 10 minutos y vuelve a intentarla.
- Si la solicitud falla, espera 20 minutos y vuelve a intentarla.
- Si la solicitud falla, espera 40 minutos y vuelve a intentarla.
- Y así sucesivamente, hasta un máximo de 10 reintentos.
Condiciones de reintento
La condición de reintento especifica la condición que debe coincidir para que se ejecute la estrategia de gestión de errores. En la siguiente tabla se describen los operadores y las funciones admitidos que puedes usar en la condición de reintento:
Operadores admitidos
En la siguiente tabla se describen los operadores admitidos que se pueden usar en las condiciones de reintento.
Operador | Descripción | Ejemplo |
= | Comprueba si dos valores son iguales. | $var$ = "value" |
!= | Comprueba si dos valores son distintos. | $var$ != "value" |
< | Comprueba si un valor es menor que otro valor. | 5 < 10 |
<= | Comprueba si un valor es menor o igual que otro valor. | $var$ <= 5 |
> | Comprueba si un valor es mayor que otro. | 1 > 0 |
>= | Comprueba si un valor es mayor o igual que otro. | $var$ >= 0 |
: | Comprueba si una cadena contiene una subcadena o si una lista contiene un valor primitivo específico. |
|
AND | Comprueba dos expresiones y devuelve true si ambas se evalúan como verdaderas. | $a$ > $b$ AND $b$ < $c$ |
OR | Comprueba dos expresiones y devuelve el valor "true" si alguna de ellas es verdadera. | $a$ > $b$ OR $b$ < $c$ |
NOT | Operador de negación. Invierte el resultado de una expresión. | NOT($var$ = "value") |
Funciones admitidas
En la siguiente tabla se describen las funciones admitidas que se pueden usar en las condiciones de reintento.
Función | Descripción |
exists(VARIABLE)
|
Comprueba si existe una variable determinada. |
does_not_exist(VARIABLE)
|
Comprueba si no existe una variable determinada |
is_empty(VARIABLE)
|
Comprueba si una variable determinada es una lista Y está vacía. Admite el tipo de variable de matriz, excepto la matriz JSON. |
is_not_empty(VARIABLE)
|
Comprueba si una variable determinada es una lista y no está vacía. Admite el tipo de variable de matriz, excepto la matriz JSON. |