Observar la ejecución de un proceso
Objetivo
Ver lo que su proceso ha hecho de verdad: cada una de sus ejecuciones y, para cualquiera de ellas, cada paso que dio, en orden, con el motivo por el que se detuvo si lo hizo.
Requisitos previos
- El proceso está publicado. Un borrador nunca se ha ejecutado.
- Es creador en el entorno.
Dónde está
Abra el proceso y seleccione Ejecuciones en el carril, junto a Flujo y Formularios de decisión. Es la única entrada ahí que no es algo que se edita: las otras dos son el proceso, esta es su historial.
La lista
Cada ejecución, la más reciente primero: lo contrario de su lista de tareas, y deliberadamente: una cola se trabaja empezando por la más antigua porque la más antigua es la que más ha esperado, pero quien abre una lista de ejecuciones casi siempre pregunta por la que acaba de ocurrir.
Cada fila muestra cuándo empezó, si está En curso, Completada o Cancelada, la versión con la que empezó y Pendiente de.
«Pendiente de» es la columna que hay que leer
Nombra a las personas con las que sigue la ejecución. Es lo que distingue una ejecución sana de una atascada:
- Nombres: la ejecución espera a esas personas, lo cual es normal y no es un problema. Un paso ofrecido a todos los que tienen un rol nombra a los tres primeros y luego dice cuántos más; un paso que una persona ya ha tomado nombra a esa persona.
- Nadie, en una ejecución todavía marcada como En curso: esta es la que hay que mirar. Nada espera a una persona y no ha terminado, así que se detuvo en algún sitio. Ábrala.
También dice Nadie cuando un paso está abierto pero su asignación no se resolvió a nadie: una tarea que existe y no está en la lista de nadie. Es lo mismo que hay que ir a mirar, y el historial dice qué paso y por qué.
Un nombre que no reconoce, o algo como systemuser:9f3c…, significa que el entorno no pudo dar
cuenta de esa persona: normalmente un usuario que se ha eliminado desde que se planteó la tarea.
Quién la está reteniendo
Debajo del diagrama, una ejecución con algo todavía abierto enumera Pendiente de: una fila por cada paso que no ha superado, con las personas con las que está, cuándo empezó a esperar, cuánto tiempo lleva esperando y cuándo vence.
Esta es la respuesta a la pregunta con la que suele abrirse una ejecución detenida. El historial dice lo que ya ha ocurrido y el diagrama dice hasta dónde llegó la ejecución; ninguno de los dos dice quién tiene que actuar a continuación.
Aquí no puede hacer esas tareas, y es deliberado. Esta es la vista del creador sobre la maquinaria, y no se ejecuta con los permisos de la persona a la que va dirigida la tarea. El trabajo se hace en el Shell de la plataforma: abra la aplicación y después la bandeja de tareas de la barra superior.
Pasar una tarea a otra persona
Hay una cosa que puede hacer con una tarea desde aquí: Pasar, en la fila.
Úselo cuando la persona que tiene la tarea no puede hacerla: se ha ido, está fuera, el trabajo se envió al grupo equivocado. Seleccione Pasar, elija a alguien y confirme. La tarea deja a quien la tenía y se ofrece a la persona que ha indicado; esa persona la toma al abrirla, exactamente como cualquier otra tarea.
Es una facultad distinta de la del Shell de la plataforma, y conviene saber cuál está usando. El Pasar de la propia lista de tareas de alguien solo puede usarlo la persona que tiene la tarea: responde a «me voy». Este es suyo porque usted puede abrir esta pantalla, y responde a «alguien se ha ido». En ambos casos la tarea debe seguir abierta: una decisión que ya se ha tomado no se puede pasar.
La ejecución, paso a paso, en un diagrama
Seleccione una ejecución y, encima de su historial, verá la ejecución dibujada.
No es su diagrama con el paso actual resaltado, y esa diferencia es la clave. Una ejecución visita un paso tantas veces como quiera: un rechazo que devuelve el trabajo visita el mismo paso tres veces, y resaltarlo le muestra un cuadro que se ha visitado, no las tres visitas, ni su orden, ni cuál está mirando.
Así que la ejecución se despliega. Una forma por cada paso que dio la ejecución, dispuestas de izquierda a derecha en el orden en que ocurrieron, con sus propias formas y sus propias calles:
- Un paso alcanzado dos veces aparece dos veces, y el segundo dice pasada 2. La tercera pasada es la tercera columna, así que un bucle se lee hacia delante en lugar de como una flecha que vuelve atrás.
- Las rutas de una división son filas paralelas, cada una en su propia línea mientras vive, y la unión las lleva todas al paso en el que continúa el proceso.
- Donde está ahora la ejecución aparece con contorno ámbar y dice aquí ahora. Donde se detuvo una ruta aparece con contorno rojo y dice se detuvo aquí.
- Las calles son las suyas. Una banda por calle, no una por pasada: una calle es una persona, y dos bandas «Responsable» serían dos filas para una sola.
El historial en sí tiene cinco columnas: cuándo ocurrió, qué ocurrió, el paso en el que ocurrió, el tipo de ese paso y cualquier detalle que lleve el evento: la arista de una bifurcación, un plazo vencido, el motivo por el que se detuvo un token.
La columna del paso muestra el nombre del paso, el que usted le dio en el diseñador. Antes
mostraba el identificador que genera el diseñador —n-start, n-3—, que no le decía nada a nadie.
Un paso que el proceso ya no tiene sigue mostrando su identificador, porque es lo único cierto que
queda de él.
Haga clic en una forma y el historial de abajo se reduce a ese paso: lo que hizo el motor mientras el proceso estaba ahí, y nada más. Mostrar toda la ejecución lo restablece.
Se dibuja con la versión que se está ejecutando
Una ejecución termina con la versión con la que empezó, aunque usted haya publicado dos veces desde entonces. El diagrama sigue a la ejecución, no al borrador actual, así que lo que está viendo es lo que realmente se ejecutó. Si esa versión ya no está guardada, el diagrama no se dibuja y el historial se muestra solo.
Qué ocurrió, paso a paso
El historial aparece en el orden en que ocurrió:
| Verá | Qué significa |
|---|---|
| Ejecución iniciada / Ejecución finalizada | La propia instancia |
| Alcanzado | El proceso llegó a ese paso |
| Bifurcado | Una bifurcación eligió una salida, y qué conexión tomó |
| Dividido / Unido | Una división creó varias rutas a la vez, y una unión las volvió a juntar |
| Tarea planteada / Tarea completada | El trabajo fue a una persona, y volvió |
| Ruta finalizada / Ruta cancelada | Una ruta terminó; un proceso con una división tiene varias |
| Detenido | La que importa: el proceso no pudo continuar, y el motivo aparece escrito |
Detenido es la razón de ser de esta pantalla. Un proceso que se detiene —una bifurcación en la que ninguna condición era verdadera, un script que no se podía analizar, una tarea que no se podía asignar a nadie, un resultado sin conexión de salida— registra exactamente qué estaba mal en el momento en que ocurrió. Esa frase es la respuesta a «por qué no pasó nada».
Una ejecución muy larga
Una ejecución que hizo miles de bucles tiene más historial del que muestra la pantalla. Cuando eso ocurre, lo indica: se enumeran los primeros pasos y el resto no. Nunca le muestra en silencio los primeros como si fueran toda la historia.
Una ejecución con muchísimas rutas
Una ejecución que se dividió más veces de las que el diagrama puede dibujar lo indica encima de él: faltan algunas ramas en la imagen. El historial de debajo no se ve afectado: es el registro completo en cualquier caso.
Tomar el control de una ejecución
Observar no es lo único que hace esta pantalla. En la barra de título están los controles que ofrece una ejecución que sigue en marcha; una ejecución terminada no ofrece ninguno, porque no queda nada que retener, soltar ni detener.
Pausar
Pausar retiene la ejecución. Cada ruta, cada tarea y cada plazo se quedan exactamente donde están, y nada se mueve hasta que la reanude. La ejecución dice En pausa y no cancelada, lo cual importa: una ejecución en pausa está viva, y alguien que leyera «cancelada» iría a iniciar el proceso de nuevo.
Úselo cuando una ejecución esté haciendo algo que no pretendía y necesite un momento para examinarla; antes de esto, la única forma de impedir que una ejecución hiciera lo incorrecto era cancelarla, lo cual no se puede deshacer.
Reanudar
Reanudar la deja continuar, exactamente desde donde se detuvo.
Algo que debe esperar: un temporizador que venció mientras la ejecución estaba en pausa se dispara de inmediato. El momento pasó, y no se le devuelve a la ejecución: un paso que esperaba hasta el viernes y se reanuda el lunes da su paso el lunes.
Detener
Detener termina la ejecución para siempre. Cada ruta se detiene donde está, y las tareas que puso en las bandejas de entrada de las personas se retiran: nadie se queda con una decisión sin un proceso detrás. Se ejecuta el controlador Al cancelar del propio proceso, que es el único momento en que se ejecuta.
Se le pide que confirme, y se le pregunta por qué. El motivo es opcional —«deténgala» es una instrucción completa—, pero queda escrito en el historial, que es donde mirará la próxima persona que pregunte «qué le pasó a esta».
Una ejecución detenida no se puede volver a iniciar desde aquí. Inicie el proceso de nuevo.
Una ruta que se detuvo, y volver a intentarlo
Cuando una ruta no pudo dar su paso, la ejecución muestra un panel Rutas detenidas encima de las tareas abiertas: una línea por ruta, con el paso en el que se detuvo y Reintentar al lado.
El historial dice por qué se detuvo: una bifurcación en la que ninguna condición era verdadera, un script que no se podía analizar, un registro que no estaba. Corrija primero esa causa; después Reintentar vuelve a poner la ruta en el paso y lo pide una segunda vez.
Dos cosas que conviene saber:
- Ejecuta la versión en la que está la ejecución, como cualquier otro paso. Volver a publicar el proceso no cambia lo que ejecuta una ejecución que ya está en marcha, así que un fallo en el dibujo no se corrige volviendo a publicar y reintentando: esa ejecución seguirá fallando de la misma manera. Reintentar sirve para la causa que ya ha desaparecido: un registro que faltaba, un servicio que estaba caído, un ajuste que nadie había rellenado.
- Solo en una ejecución que sigue en marcha. A las rutas de una ejecución detenida no se les ofrece reintentar: reiniciar una sería reiniciar un proceso que alguien terminó deliberadamente.
Pasar una ejecución a una nueva versión
No se puede, y es deliberado. Una ejecución termina con la versión con la que empezó. No hay forma de pasar una a un dibujo más reciente, porque los dos documentos no tienen por qué tener los mismos pasos: la ejecución está en un paso que la nueva versión puede haber renombrado, movido a otra calle o eliminado, y ninguna regla que pudiera escribir la plataforma adivinaría correctamente cuál de esas cosas es.
Qué hacer en su lugar: publique la nueva versión, para que cada ejecución que se inicie a partir de ahora la use, y deje que terminen las que ya están en marcha. Cuando una ejecución en curso tenga realmente que seguir el nuevo diseño, deténgala, indique por qué e inicie una nueva.