Iniciar, pausar y detener un flujo de trabajo starting-a-workflow
Un flujo de trabajo siempre se inicia manualmente. Cuando se inicia, no obstante, puede permanecer inactivo según la información especificada mediante un planificador (consulte Scheduler) o una planificación de actividad.
Las acciones relacionadas con la ejecución del flujo de trabajo de segmentación (inicio, detención, pausa, etc.) son procesos asíncronos: el pedido se guarda y se aplica en cuanto el servidor esté disponible para su aplicación.
La barra de herramientas permite iniciar y rastrear la ejecución del flujo de trabajo.
A continuación se detalla la lista de opciones disponibles en el menú Actions y el menú contextual.
Barra de herramientas de acciones actions-toolbar
El botón Actions de la barra de herramientas le permite acceder a opciones de ejecución adicionales en los flujos de trabajo seleccionados. También puede utilizar el menú File > Actions o hacer clic con el botón derecho del ratón en un flujo de trabajo y seleccionar Actions.
-
Start
Esta acción le permite iniciar la ejecución de un flujo de trabajo: un flujo de trabajo que aparezca como Finalizado, Edición en curso o En pausa cambia de estado a Iniciado. El motor de flujo de trabajo gestiona entonces la ejecución de este flujo de trabajo. Si el flujo de trabajo estaba en pausa, se reanuda, pero de lo contrario el flujo de trabajo se inicia desde el principio y se activan las actividades iniciales.
El inicio es un proceso asincrónico: la solicitud se guarda y se procesa lo antes posible mediante un servidor de flujo de trabajo.
-
Pause
Esta acción establece el estado del flujo de trabajo como En pausa. No se activa ninguna actividad hasta que se reanuda el flujo de trabajo; sin embargo, las operaciones en curso no se detienen.
-
Stop
Esta acción detiene un flujo de trabajo que se está ejecutando. El estado de la instancia se establece como Finalizado. Las operaciones en curso se detienen, si es posible. Las consultas SQL y las importaciones se cancelan inmediatamente.
note important IMPORTANT La detención de un flujo de trabajo es un proceso asíncrono: la solicitud se registra y, después, el servidor o los servidores de flujo de trabajo cancelan las operaciones en curso. Por lo tanto, la detención de una instancia de flujo de trabajo puede llevar tiempo, especialmente si el flujo de trabajo se ejecuta en varios servidores, cada uno de los cuales debe asumir el control para cancelar las tareas en curso. Para evitar cualquier problema, espere a que se complete la operación de detención y no realice varias solicitudes en el mismo flujo de trabajo. -
Unconditional stop
Esta opción cambia el estado del flujo de trabajo a Finished. Esta acción debe utilizarse únicamente como último recurso si el proceso de detención normal falla tras varios minutos. Utilice únicamente la detención incondicional si está seguro de que no hay tareas de trabajos de flujo en curso.
note caution CAUTION La detención incondicional está restringida a los usuarios administradores. -
Restart
Esta acción detiene y reinicia el flujo de trabajo. En la mayoría de los casos, es posible reiniciarlo más rápido. También resulta útil automatizar el reinicio cuando la detención lleva una determinada cantidad de tiempo: esto sucede porque el comando “Detener” no está disponible cuando el flujo de trabajo se detiene.
Tenga en cuenta que la acción Reiniciar no borra las variables de la instancia de flujo de trabajo en comparación con las acciones Ejecución, Detener e Iniciar (las variables de instancia se borran tras la acción Iniciar). Al reiniciar un flujo de trabajo, las variables de instancia siguen estando disponibles para su uso con los valores conservados. Para configurarlas, puede:
-
Ejecutar las acciones Detener e Iniciar.
-
Añada el siguiente código JavaScript al final de la ejecución del flujo de trabajo:
code language-none var wkf = xtk.workflow.load(instance.id) wkf.variables='<variables/>' wkf.save()
-
-
Purge history
Esta acción permite depurar el historial del flujo de trabajo. Para obtener más información, consulte Depuración de “logs”.
-
Start in simulation mode
Esta opción permite iniciar el flujo de trabajo en modo de simulación, distinto del modo real. Esto significa que, cuando se activa este modo, solo se ejecutan las actividades que no afectan a la base de datos o al sistema de archivos (por ejemplo Query, Union, Intersection, etc.). Actividades que sí tienen impacto (por ejemplo, Export, Import, etc.). no se ejecutan ni los que se encuentran después de ellos (en la misma rama).
-
Execute pending tasks now
Esta acción le permite iniciar todas las tareas pendientes lo antes posible. Para iniciar una tarea específica, haga clic con el botón derecho en su actividad y seleccione Execute pending task(s) now.
-
Save as template
Esta acción crea una nueva plantilla de flujo de trabajo basada en el flujo de trabajo seleccionado. Debe especificar la carpeta donde desea que se guarde (en el campo Folder).
Prácticas recomendadas para la ejecución de flujos de trabajo workflow-execution-best-practices
Mejore la estabilidad de las instancias mediante la implementación de las siguientes prácticas recomendadas:
-
No programe un flujo de trabajo para que se ejecute con una frecuencia superior a 15 minutos, ya que podría limitar el rendimiento general del sistema y crear bloques en la base de datos.
-
Asimismo, evite dejar los flujos de trabajo en estado pausado. Si crea un flujo de trabajo temporal, asegúrese de que este pueda terminar correctamente y no permanecer en estado paused. Si está en pausa, eso implica que necesita mantener las tablas temporales y, por lo tanto, aumentar el tamaño de la base de datos. Asigne supervisores de flujo de trabajo en Workflow Properties para enviar una alerta cuando un flujo de trabajo falle o el sistema lo ponga en pausa.
Para evitar tener flujos de trabajo en estado pausado:
- Consulte los flujos de trabajo regularmente para garantizar que no hay errores inesperados.
- Mantenga los flujos de trabajo tan sencillos como sea posible, por ejemplo, dividiendo los flujos de trabajo grandes en distintos flujos de trabajo. Puede utilizar las actividades External signal impulsando la ejecución en función de la ejecución de otros flujos de trabajo.
- Evite tener actividades desactivadas con flujos en los flujos de trabajo, dejando los subprocesos abiertos y generando que muchas tablas temporales puedan consumir mucho espacio. Evite mantener las actividades en estados Do not enable o Enable but do not execute en los flujos de trabajo.
-
Detenga los flujos de trabajo no utilizados. Los flujos de trabajo que siguen ejecutándose mantienen conexiones con la base de datos.
-
Solo se debe utilizar la detención incondicional en los casos más inusuales. Esta opción está restringida a los usuarios administradores. Evite utilizar esta acción de forma regular. El no realizar un cierre limpio de las conexiones generadas por los flujos de trabajo a la base de datos afecta al rendimiento.
-
No realice varias solicitudes de detención en el mismo flujo de trabajo. La detención de un flujo de trabajo es un proceso asíncrono: la solicitud se registra y, después, el servidor o los servidores de flujo de trabajo cancelan las operaciones en curso. Por lo tanto, la detención de una instancia de flujo de trabajo puede llevar tiempo, especialmente si el flujo de trabajo se ejecuta en varios servidores, cada uno de los cuales debe asumir el control para cancelar las tareas en curso. Para evitar cualquier problema, espere a que se complete la operación de parada y evite detener un flujo de trabajo varias veces.
Menú del botón derecho right-click-menu
Cuando haya seleccionado una o más actividades de flujo de trabajo, puede hacer clic con el botón derecho para actuar sobre la selección.
Las siguientes opciones están disponibles en el menú del botón derecho:
Open: esta opción permite acceder a las propiedades de la actividad.
Display logs: esta opción permite ver el “log” de ejecución de la tarea para la actividad seleccionada. Consulte Visualización de “logs”.
Execute pending task(s) now: esta acción permite iniciar tareas pendientes lo antes posible.
Workflow restart from a task: esta opción permite reiniciar el flujo de trabajo con los resultados almacenados anteriormente para esta actividad.
Cut/Copy/Paste/Delete: estas opciones permiten cortar, copiar, pegar y eliminar actividades.
Copy as bitmap: esta opción permite realizar una captura de pantalla de todas las actividades.
Normal execution / Enable but do not execute / Do not enable: : estas opciones están disponibles en la pestaña Advanced de las propiedades de actividad. Se encuentran detalladas en Execution.
Save / Cancel: permite guardar o cancelar los cambios realizados en un flujo de trabajo.