Estados y ciclo de vida
Una ejecución es cada vez que se ejecuta un proceso en una máquina. Desde que se crea hasta que termina, recorre una serie de estados bien definidos. Conocerlos te permite saber, de un vistazo, qué está pasando y por qué.
El ciclo de vida
Sección titulada «El ciclo de vida»stateDiagram-v2 [*] --> queued queued --> running queued --> cancelled: cancelada antes de empezar running --> completed: terminó bien running --> failed: terminó con error running --> stopped: detenida a pedido running --> cancelled: terminada en ejecución running --> paused: pausada paused --> running: reanudada paused --> stopped: detenida paused --> cancelled: terminada completed --> [*] failed --> [*] stopped --> [*] cancelled --> [*]
| Estado | Descripción | Cómo se llega |
|---|---|---|
queued | En cola, esperando a que el agente seleccionado la reciba | Al crear la ejecución (manual o por trigger) |
running | El agente está ejecutando el proceso | El agente recibe la orden y empieza |
completed | Finalizó con éxito (código de salida 0) | El playbook terminó sin errores |
failed | Finalizó con error | Error en el playbook, código de salida ≠ 0, o desconexión del agente |
stopped | Detenida a pedido, sin dejar nada a medias | Un usuario pidió Detener y el proceso paró en un punto seguro |
cancelled | Cancelada o terminada antes de acabar | Un usuario la canceló o la terminó, o superó su duración máxima |
paused | Pausada: quieta en la siguiente actividad, lista para seguir | Un usuario pidió Pausar; Reanudar la devuelve a running |
Cada estado en detalle
Sección titulada «Cada estado en detalle»La ejecución existe pero el agente seleccionado aún no la ha recibido. Normalmente dura segundos. Si se queda aquí, esa máquina suele estar Desconectada u Ocupada; el detalle muestra el tiempo en cola y el motivo de la espera. Ver Monitoreo de agentes.
running
Sección titulada «running»El agente descargó el paquete y está ejecutando el playbook. Aquí ves los logs en tiempo real. La máquina que la ejecuta aparece como Ocupada.
completed
Sección titulada «completed»El playbook llegó al final sin lanzar un error y devolvió código de salida 0. Es el resultado esperado de una ejecución sana.
Algo impidió completar la ejecución. Las causas típicas:
- Una actividad lanzó un error no controlado (un selector que no aparece, un archivo que no existe, una credencial que no resuelve).
- El playbook terminó con un código de salida distinto de 0.
- El agente se desconectó durante la ejecución y no reconectó dentro del período de gracia.
Revisa siempre los logs para ver la causa exacta.
cancelled
Sección titulada «cancelled»Alguien la terminó (o la canceló estando en cola) desde el portal, el Designer o el Agent antes de que acabara. Útil para cortar un proceso que se quedó colgado o que se lanzó por error.
stopped
Sección titulada «stopped»Alguien pidió Detener y el proceso paró en un punto seguro: terminó lo que estaba haciendo y cerró limpio. No es un error. Ver Detener o terminar.
Alguien pulsó Pausar: el robot se queda quieto en la siguiente actividad y conserva todo lo que llevaba. Reanudar lo hace seguir desde ahí; también puedes Detener o Terminar una ejecución pausada.
Detener o terminar
Sección titulada «Detener o terminar»Una ejecución en curso se puede parar de dos formas, desde el portal (lista de ejecuciones y detalle), el Designer o la bandeja del Agent:
| Acción | Qué hace | Estado final |
|---|---|---|
| Detener | Deja terminar lo que está haciendo y no empieza nada más. Mientras tanto la ejecución aparece como Deteniendo | stopped (Detenida) |
| Terminar | La corta de inmediato. Lo que estaba haciendo queda a medias; el finally de un Try / Catch tiene unos segundos para cerrar lo abierto, y los items de cola que tenía bloqueados vuelven a la cola al instante. | cancelled (Cancelada) |
Detener funciona cuando el proceso consulta la detención: Process Queue lo hace sola y, en cualquier otro punto, la actividad Should Stop. Las plantillas del Designer ya la incluyen.
En una ejecución en cola que aún no empezó, la acción es Cancelar: sale de la cola y no llega a correr.
Reintentos
Sección titulada «Reintentos»Desconexión del agente
Sección titulada «Desconexión del agente»Si la máquina que está procesando una ejecución pierde la conexión con Zoan Cloud y no reconecta dentro de un período de gracia (~3 minutos), la ejecución se marca como failed automáticamente. Esto evita que una ejecución quede “colgada” indefinidamente si la máquina se apaga o se cae la red.
Es un tiempo distinto al que tarda la máquina en mostrarse Desconectada (~2 minutos sin señal). Uno vigila la salud de la máquina; el otro, el destino de una ejecución concreta.
Duración máxima
Sección titulada «Duración máxima»Por defecto, la plataforma no impone un límite de duración: un proceso puede tardar segundos u horas según lo que haga, y nada lo corta por su cuenta.
Si quieres asegurarte de que una máquina no quede ocupada por un robot atascado, pon una Duración máxima (opcional, minutos), de 1 minuto a 7 días. Si la ejecución tarda más, se termina con un error claro. Se puede fijar en varios niveles, y gana el más específico:
- Al iniciar la ejecución.
- En el disparador que la lanza.
- En el proceso (Actualizar versión en su menú ⋮).
- En el proyecto, desde el Designer.
El detalle de la ejecución muestra el Límite que aplica. En el proceso también puedes activar el aviso de Robot atascado: si pasan los minutos que indiques Sin avance, el portal lo marca y, solo si lo eliges, lo cancela.
Siguientes pasos
Sección titulada «Siguientes pasos»- Logs de ejecución — diagnosticar qué ocurrió.
- Ejecutar manualmente — reintentar tras un fallo.
- Monitoreo de máquinas — por qué algo se queda en
queued.