Surveiller l’exécution des workflows monitoring-workflow-execution
Cette section présente des informations sur la manière de surveiller l’exécution de vos workflows.
Vous trouverez également dans cette section un exemple de création d’un workflow qui permet de surveiller l’état d’un ensemble de workflows en pause, arrêtés ou en erreur.
En outre, les administrateurs de l’instance peuvent utiliser le journal d’audit pour vérifier les activités et les dernières modifications apportées aux workflows, c’est-à-dire l’état de vos workflows. Pour en savoir plus sur le journal d’audit, consultez cette page.
Afficher la progression displaying-progress
Vous pouvez suivre l'exécution en affichant la progression à partir de l'icône correspondante de la barre d'outils.
L'icône Afficher la progression permet de matérialiser à l'écran l'exécution, l'état et le résultat des activités.
Lorsque cette option est sélectionnée, les activités exécutées apparaissent en bleu, les activités en attente clignotent, les avertissements sont affichés en orange et les erreurs en rouge. Cette option affiche également le résultat des activités sur leur transition sortante, suivi du libellé du résultat tel qu'il a été défini dans les propriétés de l'activité et de la durée du traitement, lorsqu'elle est supérieure à une seconde.
Afficher le journal displaying-logs
Le journal contient l'historique de l'exécution du workflow. Il mémorise les actions effectuées par les opérateurs, les opérations réalisées et les erreurs d'exécution. Vous pouvez :
-
Sélectionner l'onglet Suivi du détail. Cette liste affiche tous les messages du workflow.
-
Filtrer les messages du journal par activité. Pour ce faire, cliquez sur Afficher les tâches et le journal dans la barre d’outils située au-dessus du diagramme afin d’afficher les onglets Journal et Tâches sous le diagramme. Sélectionnez une activité pour visualiser tous les messages associés. Cette liste contient tous les messages lorsqu’aucune activité n’est sélectionnée.
note note NOTE Cliquez sur l’arrière-plan du diagramme pour tout désélectionner. -
Affichez uniquement les messages liés à une tâche donnée. Pour ce faire, sélectionnez l’option Tâche, puis sélectionnez une activité dans le diagramme afin de restreindre la liste. Double-cliquez sur une tâche pour afficher les informations ; le dernier onglet de la fenêtre contient le journal.
Le bouton Détails… permet d'afficher toutes les informations complémentaires relatives à l'exécution de l’activité. Vous pouvez par exemple visualiser l'opérateur validant et le cas échéant le commentaire qu'il a saisi lors de la validation.
Le journal affiche la liste chronologique des messages d'exécution des activités du workflow de ciblage.
-
Journal d'une opération de ciblage
Lorsqu'une opération de ciblage a été exécutée, cliquez sur l'onglet Suivi pour consulter la trace de l'exécution.
Tous les messages de l'opération sont affichés: les opérations réalisées et les avertissements ou les erreurs d'exécution.
-
Journal d'une activité
Vous pouvez également visualiser le journal de l'exécution et le détail d'exécution de chaque activité. Pour cela, deux méthodes sont possibles :
-
Sélectionnez l'activité visée et cliquez sur l'icône Afficher les tâches et le journal.
La section inférieure du diagramme affiche alors deux onglets : Journal et Tâches.
La sélection d'une activité sur le diagramme agit comme un filtre sur le journal et la liste des tâches.
-
Cliquez sur l'activité visée avec le bouton droit de la souris et choisissez Afficher le journal.
Le journal est alors affiché dans une fenêtre distincte.
-
Purger l'historique purging-the-logs
L’historique d’un workflow n’est pas purgé automatiquement : tous les messages sont conservés par défaut. L’historique peut être purgé via le menu Fichier > Actions ou en cliquant sur le bouton Actions situé dans la barre d’outils au-dessus de la liste. Sélectionnez Purger l’historique. Les options disponibles dans le menu Actions sont détaillées dans la section Barre d’outils des actions.
Tables de travail et schémas des workflows worktables-and-workflow-schema
Le workflow véhicule des tables de travail qui peuvent être manipulées via certaines activités. Adobe Campaign permet, via les activités de Data Management, de transformer, renommer, enrichir, les colonnes des tables de travail du workflow, par exemple pour les aligner sur la nomenclature en fonction des besoins du client, collecter des informations complémentaires sur le co-titulaire d'un contrat, etc.
Il est également possible de créer des liens entre des dimensions de travail différentes, et de définir des changements de dimension, par exemple pour chaque contrat enregistré dans la base, s'adresser au titulaire principal et utiliser les données relatives au(x) co-titulaire(s) dans les informations additionnelles.
Les tables de travail du workflow sont automatiquement supprimées lorsque le workflow est passif. Si vous souhaitez conserver une table de travail, enregistrez-la dans une liste via l’activité Mise à jour de liste (voir Mise à jour de liste).
Gérer les erreurs managing-errors
Lorsqu’une erreur se produit, le workflow se met en pause et l’activité qui était en cours d’exécution lorsque l’erreur s’est produite clignote alors en rouge. Dans la vue d’ensemble du workflow, sous l’onglet Supervision et le lien Workflows, vous pouvez afficher les workflows avec des erreurs uniquement, comme illustré ci-dessous.
Dans l’explorateur Adobe Campaign, la liste des workflows affiche par défaut une colonne En échec.
Lorsqu’un workflow est en erreur, la ou les personnes appartenant au groupe de supervision du workflow sont averties par e-mail, pour autant que leur adresse e-mail soit indiquée dans leur profil. Ce groupe est sélectionné dans le champ Personnes chargées de la supervision des propriétés de workflow.
Le contenu de la notification est paramétré dans le modèle par défaut Notification du responsable d'un workflow : ce modèle est sélectionné dans l'onglet Exécution des propriétés du workflow. La notification indique le nom du workflow en erreur et la tâche concernée.
Exemple de notification :
Le lien permet d’accéder en mode web à la console cliente Adobe Campaign et, après connexion, d’agir sur le workflow en erreur.
Vous pouvez paramétrer le workflow pour qu’il ne se mette pas en pause et continue son exécution en cas d’erreur. Pour ce faire, modifiez les Propriétés du workflow et dans la section Gestion des erreurs, sélectionnez Ignorer dans le champ En cas d’erreur. Vous pouvez indiquer le nombre d’erreurs qui peuvent être ignorées avant la suspension du processus.
Dans ce cas, la tâche en erreur est abandonnée. Ce mode est particulièrement adapté aux workflows conçus pour retenter l’opération ultérieurement (actions périodiques).
Traiter les erreurs processing-errors
Au niveau des activités, l'option Traiter les erreurs fait apparaître une transition particulière qui sera activée si une erreur est générée. Dans ce cas, le workflow ne passe pas en état d'erreur et continue son exécution.
Les erreurs prises en compte sont les erreurs du système de fichiers (impossible de déplacer un fichier, impossible d'accéder au répertoire, etc.).
Cette option ne traite pas les erreurs liées au paramétrage de l'activité, c'est-à-dire des valeurs invalides. Les erreurs liées à un mauvais paramétrage n'activeront pas cette transition (répertoire inexistant, etc.).
Si un workflow est en mise en pause (manuellement ou automatiquement suite à une erreur), le bouton Démarrer permet de reprendre l'exécution du workflow là où elle s'est arrêtée. L'activité en erreur (ou en pause) sera de nouveau exécutée. Les activités précédentes ne sont pas exécutées de nouveau.
Pour exécuter à nouveau toutes les activités du workflow, utilisez le bouton Redémarrer.
Si vous effectuez des modifications sur les activités déjà exécutées, elles ne sont pas prises en compte lorsque l'exécution du workflow reprend.
Si vous effectuez des modifications sur les activités non exécutées, elles sont prises en compte lorsque l'exécution du workflow reprend.
Si vous effectuez des modifications sur l'activité en pause, elles peuvent ne pas être correctement prises en compte lors de la reprise du workflow.
Si possible, il est recommandé de le relancer complètement après avoir effectué des modifications.
Supervision de l'instance instance-supervision
La page Supervision de l'instance permet de visualiser l'activité du serveur Adobe Campaign et de consulter la liste des workflows et des diffusions en échec.
Pour accéder à cette page, allez dans l’onglet Supervision et cliquez sur le lien Vue générale.
Pour afficher la liste de tous les workflows, cliquez sur le lien Workflows. Utilisez la liste déroulante pour afficher les workflows de la plateforme selon leur état.
Lorsqu'un workflow est en erreur, cliquez sur le lien pour l'ouvrir et visualiser le journal.
Empêcher les exécutions multiples simultanées preventing-simultaneous-multiple-executions
Il peut arriver que plusieurs exécutions opèrent en même temps sur un même workflow. Dans certains cas, ce processus doit être empêché.
Par exemple, il se peut qu'un planificateur déclenche l'exécution du workflow une fois par heure, mais parfois, l'exécution du workflow dans son ensemble dure plus d'une heure. Il peut être préférable de passer l'exécution si le workflow est déjà en cours d'exécution.
En cas de présence d'une activité signal au début du workflow,il peut être préférable de passer le signal si le workflow est déjà en cours d'exécution.
Le principe général est le suivant :
La solution consiste à utiliser une variable d'instance. Les variables d'instance sont partagées par toutes les exécutions parallèles des workflows.
Voici un workflow de test simple :
Le Planificateur déclenche un événement toutes les minutes. L’activité Test suivante va tester la variable d’instance isRunning pour décider si l’exécution doit se poursuivre ou non :
L'activité qui suit le Test dans la branche oui doit configurer la variable d'instance dans son Script d'initialisation :
instance.vars.isRunning = true
La dernière activité de la branche oui doit rétablir le statut faux de la variable dans son Script d'initialisation :
instance.vars.isRunning = false
Notez que :
-
La valeur actuelle de la variable d'instance est visible dans l'onglet Variables des Propriétés du workflow.
-
Les variables d'instance sont remise à zéro lorsqu'un workflow est redémarré.
-
Dans JavaScript, une valeur non définie est considérée comme fausse dans un test, ce qui permet de tester la variable d'instance avant même de l'avoir initiée.
-
Il est possible de surveiller les activités non traitées par ce mécanisme en ajoutant une consigne d'enregistrement au script d'initialisation de la fin « non ».
code language-none logInfo("Workflow already running, parallel execution not allowed.");
Cette section présente un cas d’utilisation : Coordonner les mises à jour des données.
Maintenance de la base de données database-maintenance
Les workflows utilisent beaucoup de tables de travail qui occupent de l’espace et finissent par ralentir l’ensemble de la plateforme s’ils ne sont pas entretenus.
Le workflow Nettoyage de la base de données (cleanup), accessible à partir du nœud Administration > Exploitation > Workflows techniques, permet de supprimer les données obsolètes afin d’éviter une croissance exponentielle de la base de données. Le workflow se déclenche de manière automatique sans intervention de l’utilisateur ou de l’utilisatrice.
Vous pouvez également créer des workflows techniques spécifiques pour purger les données inutiles qui occupent de l'espace. Référez-vous à et à cette section.
Gérer les workflows en pause handling-of-paused-workflows
Par défaut, si un workflow est en pause, ses tables de travail ne sont jamais purgées. Depuis le build 8880, les workflows ayant été dans un état « en pause » pendant trop longtemps sont automatiquement arrêtés et leurs tables de travail sont purgées. Ce comportement est déclenché comme suit :
- Les workflows qui sont en pause depuis plus de 7 jours apparaissent sous la forme d’un avertissement dans le tableau de bord de surveillance (et l’API de surveillance) et une notification est envoyée au groupe des personnes chargées de la supervision.
- Cette situation se produit chaque semaine, lorsque le workflow technique cleanupPausedWorkflows est déclenché. Pour plus d’informations sur le workflow, reportez-vous à cette section.
- Après 4 notifications (un mois en pause par défaut), le workflow est arrêté de manière inconditionnelle. Un journal s’affiche dans le workflow après son arrêt. Les tables sont purgées lors de la prochaine exécution du workflow de nettoyage
Ces périodes peuvent être configurées à l'aide de l'option NmsServer_PausedWorkflowPeriod.
Les superviseurs de workflow sont avertis. Le créateur et le dernier utilisateur ayant modifié le workflow sont également informés. Les administrateurs ne reçoivent pas les notifications.
Filtrer des workflows en fonction de leur état filtering-workflows-status
L’interface de Campaign Classic vous permet de surveiller l’état d’exécution de tous les workflows de votre instance à l’aide de vues prédéfinies. Pour accéder à ces vues, ouvrez le nœud Administration / Audit / Statut des workflows.
Les vues disponibles sont les suivantes :
- En cours d’exécution : répertorie tous les workflows en cours d’exécution.
- En pause : répertorie tous les workflows en pause.
- Échec : répertorie tous les workflows en échec.
- ** ).
Par défaut, ces vues sont accessibles dans le dossier Audit. Vous pouvez toutefois les recréer à l’emplacement de votre choix dans l’arborescence des dossiers. De cette manière, ils seront accessibles aux utilisateurs standard sans droit d’administration.
Pour cela :
- Cliquez avec le bouton droit sur le dossier dans lequel vous souhaitez ajouter la vue.
- Dans Ajouter un dossier / Administration, sélectionnez la vue à ajouter.
- Une fois le dossier ajouté à l’arborescence, assurez-vous de le configurer en tant que vue afin qu’il affiche tous les workflows, quel que soit leur dossier d’origine. Pour plus d’informations sur la configuration des vues, voir cette page.
En outre, vous pouvez configurer des dossiers de filtres qui vous permettront de filtrer la liste des workflows en fonction de leur état d’exécution. Pour cela :
- Accédez à un dossier de type workflow, puis sélectionnez le menu Filtres/Filtres avancés.
- Configurez le filtre de sorte que le champ @status du workflow soit égal à l’état de votre choix.
- Enregistrez le filtre et attribuez-lui un nom. Il sera alors directement disponible dans la liste des filtres.
Pour plus d’informations, consultez les sections suivantes :