Administration d’instances de workflow administering-workflow-instances

La console de workflows fournit plusieurs outils permettant d’administrer les instances de workflow pour vérifier qu’elles s’exécutent comme prévu.

NOTE
La console JMX permet d’effectuer d’autres opérations de maintenance des workflows.

Différentes consoles sont à votre disposition pour administrer les workflows. Utilisez la navigation globale pour ouvrir le panneau Outils, puis sélectionnez Workflows  :

  • Modèles  : gérez les définitions des workflows
  • Instances  : affichez et gérez l’exécution des instances de workflow.
  • Lanceurs  : gérez le lancement des workflows
  • Archive  : affichez l’historique des workflows correctement terminés
  • Échecs  : affichez l’historique des workflows terminés avec des erreurs
  • Attribution automatique  : configurez l’attribution automatique des workflows aux modèles

Suivi du statut des instances de workflow monitoring-the-status-of-workflow-instances

  1. Avec la navigation, sélectionnez Outil, puis Workflows.

  2. Sélectionner Instances vous pouvez ainsi afficher la liste des instances de workflow en cours.

    wf-96

Suspension, reprise ou arrêt d’une instance de workflows suspending-resuming-and-terminating-a-workflow-instance

  1. Avec la navigation, sélectionnez Outil, puis Workflows.

  2. Sélectionner Instances vous pouvez ainsi afficher la liste des instances de workflow en cours.

    wf-96-1

  3. Sélectionnez un élément spécifique, puis utilisez Arrêter, Suspendre ou Reprendre, selon le cas. Une confirmation et/ou d’autres détails sont requis :

    wf-97-1

Affichage des workflows archivés viewing-archived-workflows

  1. Avec la navigation, sélectionnez Outil, puis Workflows.

  2. Sélectionner Archiver vous pouvez ainsi afficher la liste des instances de workflow qui se sont terminées avec succès.

    wf-98

    note note
    NOTE
    L’état d’abandon est considéré comme une interruption réussie, car il se produit suite à une action de l’utilisateur ou de l’utilisatrice, comme par exemple :
    • L’utilisation de la fonction Arrêter
    • lorsqu’une page soumise à un workflow est (forcée) supprimée, le workflow est arrêté.
  3. Sélectionnez un élément spécifique, puis Ouvrir l’historique pour afficher plus de détails :

    wf-99

Correction des échecs d’instance de workflows fixing-workflow-instance-failures

Lorsqu’un workflow échoue, AEM fournit la console Échecs pour vous permettre d’enquêter et de prendre les mesures appropriées une fois la cause d’origine résolue :

  • Détails de l’échec
    Ouvre une fenêtre pour afficher Message d’échec, Étape, et Pile des échecs.

  • Ouvrir l’historique
    Affiche des détails sur l’historique des workflows.

  • Étape de reprise - Exécute à nouveau l’instance du composant Étape de script. Utilisez la commande Relancer l’étape après avoir corrigé la cause de l’erreur initiale. Par exemple, relancez l’étape après avoir corrigé un bogue dans le script que l’étape de processus exécute.

  • Arrêter - Arrêtez le workflow si l’erreur a provoqué une situation irréconciliable pour le workflow. Par exemple, le workflow peut se baser sur des conditions environnementales comme des informations figurant dans le référentiel qui ne sont plus valides pour l’instance de workflow.

  • Arrêter et réessayer - Similaire à Arrêter mais qu’une nouvelle instance de workflow est lancée à l’aide de la charge utile, du titre et de la description d’origine.

Pour examiner les échecs, puis reprendre ou arrêter le workflow par la suite, utilisez les étapes suivantes :

  1. Avec la navigation, sélectionnez Outil, puis Workflows.

  2. Sélectionner Échecs vous pouvez ainsi afficher la liste des instances de workflow qui ne se sont pas terminées avec succès.

  3. Sélectionnez un élément spécifique, puis l’action appropriée :

    wf-47

Purge régulière des instances de workflow regular-purging-of-workflow-instances

Réduire le nombre d’instances de workflow améliore les performances du moteur de workflows. Vous pouvez donc purger régulièrement les instances de workflow terminées ou en cours d’exécution du référentiel.

Configurez la configuration de la purge du workflow Adobe Granite pour purger les instances de workflows en fonction de leur âge et de leur statut. Vous pouvez également purger les instances de workflow de tous les modèles ou d’un modèle spécifique.

Vous pouvez également créer plusieurs configurations du service pour purger les instances de workflow qui répondent à différents critères. Par exemple, créez une configuration qui purge les instances d’un modèle de workflow spécifique lorsqu’elles s’exécutent pendant plus longtemps que prévu. Créez une autre configuration qui purge tous les workflows terminés après un certain nombre de jours afin de minimiser la taille du référentiel.

Pour configurer le service, vous pouvez utiliser la console Web ou ajouter une configuration OSGi au référentiel. Le tableau suivant décrit les propriétés dont vous avez besoin pour l’une ou l’autre de ces méthodes.

NOTE
Pour ajouter la configuration au référentiel, le PID de service est :
com.adobe.granite.workflow.purge.Scheduler
Le service étant un service d’usine, le nom du nœud sling:OsgiConfig nécessite un suffixe d’identifiant, tel que :
com.adobe.granite.workflow.purge.Scheduler-myidentifier
Nom de propriété (console web)
Nom de propriété OSGi
Description
Nom du traitement
scheduledpurge.name
Nom explicite de la purge planifiée.
Statut du workflow
scheduledpurge.workflowStatus

Statut des instances de workflow à purger. Les valeurs suivantes sont valides :

  • TERMINÉ : les instances de workflow terminées sont purgées.
  • EN COURS : les instances de workflow en cours d’exécution sont purgées.
Modèles à purger
scheduledpurge.modelIds

ID des modèles de workflows à purger. L’ID correspond au chemin d’accès au nœud de modèle, par exemple :
/var/workflow/models/dam/update_asset
.

Pour spécifier plusieurs modèles, cliquez sur le bouton + dans la console web.

Ne spécifiez aucune valeur pour purger les instances de tous les modèles de workflow.

Âge du workflow
scheduledpurge.daysell
L’âge des instances de workflow à purger en jours.

Définition de la taille maximale de la boîte de réception setting-the-maximum-size-of-the-inbox

Vous pouvez définir la taille maximale de la boîte de réception en configurant le service de workflow Adobe Granite à l’aide de la console web ou ajouter une configuration OSGi au référentiel. Le tableau suivant décrit la propriété que vous configurez pour l’une ou l’autre de ces méthodes.

NOTE
Pour ajouter la configuration au référentiel, le PID de service est :
com.adobe.granite.workflow.core.WorkflowSessionFactory.
Nom de propriété (console web)
Nom de propriété OSGi
Taille de requête de boîte de réception maximale
granite.workflow.inboxQuerySize

Utilisation de variables Workflow pour les banques de données détenues par le client using-workflow-variables-customer-datastore

Les données traitées par les workflows sont stockées dans l’enregistrement fourni par Adobe (JCR). Par nature, ces données peuvent être sensibles. Vous pouvez enregistrer toutes les métadonnées et les données définies par l’utilisateur ou l’utilisatrice dans votre propre espace de stockage géré au lieu de celui fourni par Adobe. Ces sections décrivent comment configurer ces variables pour un enregistrement externe.

Définition du modèle pour utiliser l’enregistrement externe des métadonnées set-model-for-external-storage

Au niveau du modèle de workflow, un indicateur est fourni pour indiquer que le modèle (et ses instances d’exécution) dispose d’un enregistrement externe des métadonnées. Les variables de workflow ne sont pas conservées dans JCR pour les instances de workflow des modèles marqués pour le stockage externe.

La propriété userMetadataPersistenceEnabled sera stockée dans le nœud jcr:content du modèle de workflow. Cet indicateur sera conservé dans les métadonnées de workflow sous le nom cq:userMetaDataCustomPersistenceEnabled.

L’illustration ci-dessous montre comment définir l’indicateur dans un workflow.

workflow-externalize-config

API pour les métadonnées dans un enregistrement externe apis-for-metadata-external-storage

Pour stocker les variables en externe, implémentez les API exposées par le workflow.

UserMetaDataPersistenceContext

Les exemples suivants vous montrent comment utiliser l’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;
}
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2