- Introducción
- Primeros pasos
- Crear con Maestro BPMN
- Comprender el modelado de Maestro BPMN
- Abrir el lienzo de modelado
- Modelar tu proceso
- Alinear y conectar elementos BPMN
- Autopilot para Maestro (vista previa)
- Repositorio de procesos
- Implementar un proceso BPMN simple
- Implementar un proceso BPMN complejo
- Depuración
- Simular
- Evaluaciones (vista previa)
- Escenarios de implementación comunes
- Crear con Maestro Case
- Introducción a Maestro Case
- Maestro BPMN frente a Maestro Case: cuándo utilizar la gestión de casos
- El ciclo de vida de Maestro Case: del desencadenador de eventos a la experiencia de la aplicación
- Crea tu primer caso con Maestro Case
- Crear un Maestro Case con un agente de codificación (vista previa)
- Definir claves de caso (de sistema o externo)
- Establecer contratos de entrada/salida y de escritura diferida de tareas
- Reglas de salida y terminación temprana de etapas
- Modelar las etapas principal y secundaria
- Iniciar un caso desde Data Fabric
- Implementar perfiles y permisos a nivel de etapa
- Establecer SLA y reglas de escalado automatizadas
- Configurar un bucle de reprocesamiento (reingreso)
- Configurar y probar el agente de Case Manager (vista previa)
- Contrato de entrada y salida del gestor de casos
- Diccionario de componentes de Maestro Case
- Crear con Maestro Flow
- Nodos del conector
- Maestro Automate
- Integraciones
- En funcionamiento
- Supervisión
- Optimizando
- Información de referencia
Dirija los nodos fallidos a los controladores de errores, registre los detalles del error, reintente los fallos transitorios y finalice los errores irrecuperables con gracia.
Qué crearás: un flujo de trabajo que enruta un nodo fallido a una ruta independiente, registra el fallo con contexto útil, reintenta los fallos transitorios donde tiene sentido y termina limpiamente cuando el error es irrecuperable. Después de esta guía, tendrás un patrón que puedes soltar en cualquier flujo de trabajo existente.
Qué necesitará
- Una cuenta de UiPath Automation Cloud con acceso a Maestro Flow.
- Un flujo de trabajo de flujo existente con al menos un nodo que puede fallar y expone un controlador de error, por ejemplo, una solicitud HTTP o un nodo de extracción.
Nodos utilizados
- Solicitud HTTP : el nodo propenso a fallos en este ejemplo
- Script : registra los detalles del error
- Terminar : finaliza el flujo de trabajo con un estado
Faileden errores irrecuperables
Pasos
1. Conecta el manipulador de errores del nodo
De forma predeterminada, un nodo fallido detiene todo el proceso. Para gestionar el fallo en su lugar:
- Abre tu flujo de trabajo en el lienzo y selecciona el nodo propenso a fallos.
- Arrastra desde su controlador de error , el conector en la parte inferior derecha del nodo, a un nuevo nodo de Script .
Esto crea una ruta de error. Cuando el nodo falla, la ejecución enruta a lo largo de esta ruta en lugar de detener el proceso. (Los nodos que no exponen un controlador de errores no admiten la gestión de errores; un fallo allí detiene el proceso y aparece en la pestaña Incidentes ).
2. Registrar el error
En el nodo Script de la ruta de error, lee el objeto de error $vars.<node>.error:
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
El objeto de error solo se rellena en la ruta de error. Para ver su referencia de campo completa, consulta Gestión de errores.
3. Reintentar fallos transitorios (opcional)
Si es probable que el fallo sea transitorio (un problema de red o un límite de velocidad), vuelva a intentarlo antes de darse por vencido. El nodo de solicitud HTTP tiene reintentos integrados: configura el recuento de reintentos en sus propiedades y vuelve a intentar la solicitud tantas veces antes de desencadenar el controlador de error. Solo el fallo final redirige a la ruta de error.
Reintentar solo operaciones idempotentes. Reintentar un nodo con efectos secundarios (escribir datos, enviar un mensaje) puede crear duplicados.
4. Terminar si no se puede recuperar
En la ruta de error, después del nodo Script, añade un nodo Terminar . Establecer:
- Estado →
Failed - Mensaje → una descripción que incluye el error, por ejemplo
$vars.httpRequest1.error.message
Esto registra el fallo en el historial de ejecución con una descripción útil, visible en Observar ejecuciones.
5. Probar y depurar
Para desencadenar la ruta de error intencionadamente:
- Establece temporalmente la URL en el nodo de solicitud HTTP en un valor no válido (por ejemplo,
https://this-will-fail.example.com). - Ejecuta la prueba y verifica las rutas de seguimiento de ejecución a lo largo de la ruta de error.
- Restaure la URL correcta.
Comprueba la salida de la consola del nodo de script en el seguimiento para confirmar que se registran los detalles del error.
Resultado
Tu flujo de trabajo enruta los fallos a la ruta de error, registra los detalles del error, opcionalmente reintenta los fallos transitorios y termina limpiamente con un estado de fallo descriptivo. Puedes confirmar que la ruta de error funciona utilizando una URL no válida en el nodo de solicitud HTTP e inspeccionando la salida de la consola del nodo de script en el seguimiento de ejecución.
Ampliar este flujo de trabajo
- Enviar una alerta en caso de fallo : en la ruta de error, antes del nodo Terminar, añade una solicitud HTTP o un nodo de integración para notificar a un canal de Slack o crear un ticket de incidente.
- Continuar en lugar de terminar : si el paso no es crítico, haz que la ruta de error establezca un valor alternativo y vuelva a unirse a la ruta principal en lugar de terminar.
- Aplica este patrón en todas partes : para obtener más patrones (registrar y continuar, valores alternativos, escalada), consulta la referencia de gestión de errores .