La consola de flujo de trabajo proporciona varias herramientas para administrar instancias de flujo de trabajo a fin de garantizar que se ejecuten según lo esperado.
El consola JMX proporciona operaciones de mantenimiento de flujo de trabajo adicionales.
Hay una serie de consolas disponibles para administrar los flujos de trabajo. Utilice la variable navegación global para abrir el panel Herramientas y, a continuación, seleccione Flujo de trabajo:
Uso de la selección Navegación Herramientas, luego Flujo de trabajo.
Seleccionar Instancias para poder mostrar la lista de instancias de flujo de trabajo en curso.
Uso de la selección Navegación Herramientas, luego Flujo de trabajo.
Seleccionar Instancias para poder mostrar la lista de instancias de flujo de trabajo en curso.
Seleccione un elemento específico y, a continuación, utilice Finalizar, Suspender o Reanudar, según proceda; confirmación o más detalles:
Uso de la selección Navegación Herramientas, luego Flujo de trabajo.
Seleccionar Archivar para poder mostrar la lista de instancias de flujo de trabajo que se completaron correctamente.
El estado de anulación se considera una terminación satisfactoria, ya que ocurre como resultado de la acción del usuario; por ejemplo:
Seleccione un elemento específico y luego Abrir historial para ver más detalles:
AEM Cuando falla un flujo de trabajo, proporciona el valor de la variable Errores consola para que pueda investigar y tomar las medidas adecuadas una vez que se haya manejado la causa original:
Detalles del error
Abre una ventana para mostrar el Mensaje de error, Etapa, y Pila de errores.
Abrir historial
Muestra detalles del historial del flujo de trabajo.
Paso de reintento : vuelve a ejecutar la instancia del componente Paso de script. Utilice el comando Paso de reintento después de haber corregido la causa del error original. Por ejemplo, vuelva a intentar el paso después de corregir un error en el script que ejecuta el Paso de proceso.
Finalizar : Finalice el flujo de trabajo si el error ha provocado una situación irreconciliable. Por ejemplo, el flujo de trabajo puede depender de condiciones ambientales como la información del repositorio, que ya no son válidas para la instancia de flujo de trabajo.
Finalizar y volver a intentar - Similar a Finalizar excepto que se inicia una nueva instancia de flujo de trabajo utilizando la carga útil, el título y la descripción originales.
Para investigar los errores y luego reanudar o finalizar el flujo de trabajo más tarde, siga estos pasos:
Mediante la Navegación, seleccione Herramientas y, luego, Flujo de trabajo.
Seleccionar Errores para poder mostrar la lista de instancias de flujo de trabajo que no se completaron correctamente.
Seleccione un elemento específico y luego la acción apropiada:
Al minimizar el número de instancias de flujo de trabajo, aumenta el rendimiento del motor de flujo de trabajo, por lo que puede depurar con regularidad las instancias de flujo de trabajo completadas o en ejecución desde el repositorio.
Configure Configuración de depuración del flujo de trabajo de Adobe Granite para depurar instancias de flujo de trabajo según su antigüedad y estado. También puede depurar instancias de flujo de trabajo de todos los modelos o de uno específico.
También puede crear varias configuraciones del servicio para depurar instancias de flujo de trabajo que cumplan distintos criterios. Por ejemplo, cree una configuración que depure las instancias de un modelo de flujo de trabajo concreto cuando se ejecuten durante más tiempo del esperado. Cree otra configuración que depure todos los flujos de trabajo completados después de un determinado número de días para minimizar el tamaño del repositorio.
Para configurar el servicio, puede utilizar el Consola web o añadir una configuración OSGi al repositorio. En la tabla siguiente, se describen las propiedades que necesita para cualquiera de los métodos.
Para añadir la configuración al repositorio, el PID de servicio es este:
com.adobe.granite.workflow.purge.Scheduler
Como el servicio es un servicio de fábrica, el nombre del nodo sling:OsgiConfig
requiere un sufijo de identificador, por ejemplo:
com.adobe.granite.workflow.purge.Scheduler-myidentifier
Nombre de propiedad (consola web) | Nombre de propiedad OSGi | Descripción |
---|---|---|
Nombre del trabajo | scheduledpurge.name | Un nombre descriptivo para la depuración programada. |
Estado de flujo de trabajo | scheduledpurge.workflowStatus | El estado de las instancias de flujo de trabajo que se van a purgar. Los siguientes valores son válidos:
|
Modelos para purgar | scheduledpurge.modelIds | El ID de los modelos de flujo de trabajo que se van a depurar. El ID es la ruta al nodo del modelo, por ejemplo: Para especificar varios modelos, haga clic en el botón + de la consola web. No especifique ningún valor para depurar instancias de todos los modelos de flujo de trabajo. |
Edad del flujo de trabajo | scheduledpurge.daysell | La antigüedad de las instancias de flujo de trabajo que se purgarán en días. |
Puede establecer el tamaño máximo de la bandeja de entrada configurando Adobe Granite Workflow Service, usando el Consola web o añadir una configuración OSGi al repositorio. En la tabla siguiente se describe la propiedad que se configura para cualquiera de los métodos.
Para añadir la configuración al repositorio, el PID de servicio es este:
com.adobe.granite.workflow.core.WorkflowSessionFactory
.
Nombre de propiedad (consola web) | Nombre de propiedad OSGi |
---|---|
Tamaño máximo de consulta de la bandeja de entrada | granite.workflow.inboxQuerySize |
Los datos procesados por flujos de trabajo se almacenan en el almacenamiento proporcionado por el Adobe (JCR). Estos datos pueden ser de naturaleza delicada. Es posible que desee guardar todos los metadatos/datos definidos por el usuario en su propio almacenamiento administrado en lugar del almacenamiento proporcionado por Adobe. En estas secciones se describe cómo configurar estas variables para el almacenamiento externo.
En el nivel del modelo de flujo de trabajo, se proporciona un indicador para indicar que el modelo (y sus instancias de tiempo de ejecución) tiene almacenamiento externo de metadatos. Las variables de flujo de trabajo no persisten en JCR para las instancias de flujo de trabajo de los modelos marcados para almacenamiento externo.
La propiedad userMetadataPersistenceEnabled se almacena en la variable jcr:nodo de contenido del modelo de flujo de trabajo. Este indicador se mantiene en los metadatos del flujo de trabajo como cq:userMetaDataCustomPersistenceEnabled.
La siguiente ilustración muestra cómo establecer el indicador en un flujo de trabajo.
Para almacenar las variables de forma externa, implemente las API que expone el flujo de trabajo.
UserMetaDataPersistenceContext
Los siguientes ejemplos muestran cómo utilizar la API.
@ProviderType
public interface UserMetaDataPersistenceContext {
/**
* Gets the workflow for persistence
* @return workflow
*/
Workflow getWorkflow();
/**
* Gets the workflow id for persistence
* @return workflowId
*/
String getWorkflowId();
/**
* Gets the user metadata persistence id
* @return userDataId
*/
String getUserDataId();
}
UserMetaDataPersistenceProvider
/**
* This provider can be implemented to store the user defined workflow-data metadata in a custom storage location
*/
@ConsumerType
public interface UserMetaDataPersistenceProvider {
/**
* Retrieves the metadata using a unique identifier
* @param userMetaDataPersistenceContext
* @param metaDataMap of user defined workflow data metaData
* @throws WorkflowException
*/
void get(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
/**
* Stores the given metadata to the custom storage location
* @param userMetaDataPersistenceContext
* @param metaDataMap metadata map
* @return the unique identifier that can be used to retrieve metadata. If null is returned, then workflowId is used.
* @throws WorkflowException
*/
String put(UserMetaDataPersistenceContext userMetaDataPersistenceContext, MetaDataMap metaDataMap) throws WorkflowException;
}