Bonnes pratiques relatives aux workflows workflow-best-practices

Vous trouverez ci-dessous des instructions générales pour optimiser les performances des workflows de Campaign, améliorer la conception de vos workflows et sélectionner les paramètres appropriés.

Dossiers des workflows workflow-folders

Adobe conseille de créer les workflows dans un dossier dédié.

Si le workflow a un impact sur l’ensemble de la plateforme (processus de nettoyage, par exemple), vous pouvez ajouter un sous-dossier au dossier intégré Workflows techniques.

Attribution d’un nom au workflow workflow-naming

Pour trouver plus facilement les workflows qui ne fonctionnent pas de la manière attendue et résoudre les problèmes, Adobe recommande d'attribuer aux workflows des libellés et des noms adéquats. Renseignez également le champ de description du workflow pour que l'opérateur puisse facilement comprendre son objectif.

Si le workflow fait partie d'un processus impliquant d'autres workflows, vous pouvez saisir un libellé explicite, en utilisant par exemple des chiffres pour classer les workflows (par libellé).

Par exemple :

  • 001 - Import - Import des destinataires
  • 002 - Import - Import des ventes
  • 003 - Import - Import des détails sur les ventes
  • 010 - Export - Export des logs de diffusion
  • 011 - Export - Export des logs de tracking

Niveau de criticité d’un workflow workflow-severity

Vous pouvez configurer le niveau de criticité d'un workflow dans l'onglet Exécution des propriétés du workflow :

  • Normal
  • Production
  • Critique

Si vous indiquez cette information lors de la création d'un workflow, vous déterminerez le niveau de priorité du processus configuré.

Cette option n'a aucun impact fonctionnel sur les workflows autres que les workflows d'opération.

Les workflows d'opération (créés dans le cadre d'une opération/campagne) avec un niveau de priorité plus élevé sont exécutés en premier si l'opération comprend plusieurs processus qui sont supposés s'exécuter simultanément. Par défaut, seuls 10 processus peuvent s'exécuter simultanément dans une opération, selon l'option NmsOperation_LimitConcurrency. Par exemple, si une opération contient 25 workflows, ceux avec une priorité plus élevée seront exécutés dans le premier pool de 10 processus.

Surveillance des workflows workflow-monitoring

Vous devez surveiller tous les workflows planifiés s'exécutant dans des environnement de production afin d'être averti en cas d'erreur.

Dans les propriétés d'un workflow, sélectionnez un groupe de responsables : le groupe Superviseurs de workflow par défaut ou un groupe personnalisé. Vérifiez qu'un opérateur au moins appartient à ce groupe et qu'il dispose d'une adresse email.

Avant de commencer la construction d’un workflow, pensez à définir les superviseurs. Ceux-ci seront avertis par email lorsqu’un workflow sera en erreur. Pour plus d'informations, consultez la section Gérer les erreurs.

Vérifiez régulièrement l’onglet Supervision pour connaître le statut des workflows actifs. Pour plus d'informations, consultez la section Supervision de l’instance.

La carte thermique des workflows permet aux administrateurs de la plateforme Adobe Campaign de surveiller la charge sur l’instance et de planifier les workflows en conséquence. Voir à ce sujet Surveillance des workflows.

Activités using-activities

CAUTION
Vous pouvez copier et coller des activités dans un même workflow. Toutefois, nous vous déconseillons de copier et coller des activités dans différents workflows. Certains paramètres associés à des activités telles que Diffusions et Planificateur peuvent entraîner des conflits et des erreurs lors de l'exécution du workflow de destination. Nous vous recommandons plutôt de dupliquer les workflows. Pour plus d'informations, voir la section Duplication des workflows.

Attribution d'un nom à une activité name-of-the-activity

Lors du développement de votre workflow, toutes les activités seront dotées d’un nom, tout comme les objets Adobe Campaign. Bien que ce nom soit généré par l’outil, il est recommandé d’attribuer à une activité un nom explicite lors de sa configuration. Si vous le faites plus tard, le workflow peut être interrompu si les activités utilisent le nom d’activités précédentes et la mise à jour des noms risque d’être difficile.

Le nom d'une activité figure dans l'onglet Avancé. Ne conservez pas le nom query, query1 ou query11. Attribuez aux activités un nom explicite comme querySubscribedRecipients. Ce nom apparaît dans le journal et les logs SQL, le cas échéant, et permet de déboguer le workflow lors de sa configuration.

Premières et dernières activités first-and-last-activities

  • Commencez toujours votre workflow par une activité Début ou une activité Planificateur. Lorsque cela est pertinent, vous pouvez également utiliser une activité Signal externe.

  • Lors de la construction de votre workflow, n'utilisez qu'une seule **** activité Planificateur par branche. Si une même branche d'un workflow comporte plusieurs planificateurs (liés les uns aux autres), le nombre de tâches à exécuter sera multiplié de manière exponentielle, ce qui surchargerait considérablement la base. Cette règle s’applique également à toutes les activités comportant un onglet Planification & historique. En savoir plus sur la planification.

  • Utilisez des activités Fin dans tous vos workflows. Cela permet à Adobe Campaign de libérer l’espace temporaire utilisé pour réaliser les calculs dans les workflows. Voir à ce sujet la section Début et Fin.

Code JavaScript dans une activité javascript-within-an-activity

Vous souhaiterez peut-être ajouter du code JavaScript lors de l'initialisation d'une activité de workflow. Vous pouvez le faire dans l'onglet Avancé d'une activité.

Pour repérer plus facilement le workflow, il est conseillé d'utiliser deux tirets avant et après le libellé de l'activité, comme dans l'exemple suivant : – Mon libellé --.

Signal signal

La plupart du temps, vous ne saurez pas d'où vient l'appel d'un signal. Pour éviter ce problème, utilisez le champ Commentaire de l’onglet Avancé de l’activité de signal pour documenter l’origine attendue d’un signal pour l’activité en question.

Mises à jour des workflows workflow-update

Un workflow de production ne doit pas être directement mis à jour. À moins que le processus consiste à créer une opération avec des modèles de workflow, les processus doivent être d'abord testés dans un environnement de développement. Après validation, le workflow peut être déployé et démarré en production.

Effectuez tous les tests dans les environnements de développement ou d’évaluation, et non dans les environnements de production, où les performances ne peuvent pas être garanties.

Les workflows archivés peuvent être conservés sur des plateformes de développement ou de test, dans un dossier Archivé. Un environnement de production doit en revanche rester aussi propre que possible. Les anciens workflows doivent être supprimés de l'environnement de production s'ils sont inactifs.

Exécution et performance execution-and-performance

Logs logs

La méthode JavaScript logInfo() est une solution permettant de déboguer un workflow. Toutefois, vous devez l'utiliser avec précaution, en particulier pour les activités que vous exécutez fréquemment : il peut surcharger les logs et augmenter considérablement la taille de la table des logs.

Conserver les populations intermédiaires

L'option Conserver le résultat des populations intermédiaires entre deux exécutions conserve les tables temporaires entre deux exécutions d'un workflow.

Elle est disponible dans l'onglet Général des propriétés du workflow et peut être utilisée à des fins de développement et de test pour surveiller les données et vérifier les résultats. Vous pouvez utiliser cette option dans les environnements de développement, mais ne l'utilisez jamais dans les environnements de production. La conservation des tables temporaires peut entraîner une augmentation significative de la taille de la base de données et, par la suite, l'atteinte de la limite de taille. De plus, cela ralentira la sauvegarde.

Seules les tables de travail de la dernière exécution du workflow sont conservées. Les tables de travail des exécutions précédentes sont purgées par le workflow de nettoyage qui s’exécute tous les jours.

CAUTION
Ne cochez jamais cette option dans un workflow de production. Elle sert à analyser les résultats et est conçue uniquement à des fins de test. Elle ne doit donc être utilisée que dans les environnements de développement ou d'évaluation.

Enregistrer les requêtes SQL

L'option Enregistrer les requêtes SQL dans le journal est disponible dans l'onglet Exécution des propriétés de workflow. Cette option enregistre toutes les requêtes SQL des différentes activités et permet de voir ce qui est réellement exécuté par la plateforme. Toutefois, cette option ne doit être utilisée que temporairement pendant le développement et non activée pendant la production.

Une bonne pratique consiste à purger les logs lorsqu'ils ne sont plus nécessaires. L’historique d’un workflow n’est pas purgé automatiquement : tous les messages sont conservés par défaut. Vous pouvez purger l’historique depuis le menu Fichier > Actions ou en cliquant sur le bouton Actions situé dans la barre d’outils au-dessus de la liste. Choisissez Purge de l’historique.
Pour savoir comment purger les logs, consultez cette documentation.

Planification des workflows workflow-planning

D'autres bonnes pratiques doivent être appliquées lors de la planification de l'exécution de vos workflows afin d'éviter tout problème :

  • Maintenez un niveau d'activité stable tout au long de la journée et évitez les pics afin d'empêcher la surcharge de l'instance. Pour ce faire, répartissez les heures de début des workflows de manière uniforme tout au long de la journée.
  • Planifiez le chargement des données au cours de la nuit de façon à réduire les conflits entre les données.
  • Les workflows longs peuvent avoir une incidence sur les ressources du serveur et de la base de données. Fractionnez les workflows les plus longs pour réduire le temps de traitement.
  • Pour réduire les temps d’exécution globaux, remplacez les activités exigeant beaucoup de temps par des activités simplifiées et plus rapides.
  • Évitez d’exécuter plus de 20 workflows simultanément. Lorsque trop de workflows sont exécutés en même temps, votre plateforme peut être surchargée et devenir instable.

Option Exécuter dans le moteur execute-in-the-engine-option

Dans un environnement de production, évitez d'exécuter des workflows dans le moteur. Lorsque l'option Exécuter dans le moteur est cochée dans les Propriétés d'un workflow, le workflow en question devient prioritaire et tous les autres workflows sont arrêtés par le moteur de workflow tant que celui-ci n'est pas terminé.

recommendation-more-help
cffff7e4-091f-472e-87ca-52087599f99d