Vous trouverez ci-dessous des instructions générales pour l’optimisation des performances de Campaign, notamment des bonnes pratiques à appliquer à vos workflows.
Des instructions de dépannage relatives à l’exécution des workflows sont également disponibles dans le Guide de production de Campaign Classic v7.
La méthode JavaScript logInfo() s'avère particulièrement utile pour déboguer un workflow. Elle doit toutefois être utilisée avec précaution, notamment pour les activités exécutées fréquemment, car elle peut surcharger les logs et accroître considérablement la taille de la table des logs. Si la méthode logInfo() n'est pas suffisante,
Deux autres solutions sont proposées :
Conserver le résultat des populations intermédiaires entre deux exécutions
Cette option, disponible dans l'onglet Général des propriétés d'un workflow, permet de conserver temporairement les tables entre deux exécutions d'un workflow. Elle peut être utilisée à des fins de développement et de test pour surveiller les données et vérifier les résultats. Bien que cette option puisse être utilisée dans des environnements de développement, elle ne doit jamais l'être dans des environnements de production. La conservation des tables temporaires peut entraîner une augmentation significative de la taille de la base de données, voire même un dépassement des limites de taille. Elle peut aussi ralentir la sauvegarde.
Seules les tables de travail de la dernière exécution du workflow sont conservées. Celles des exécutions précédentes sont purgées par le workflow de nettoyage qui s'exécute tous les jours.
Cette option ne doit jamais être cochée 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 dans le journal
Cette option, disponible dans l'onglet Exécution des propriétés d'un workflow, permet d'enregistrer toutes les requêtes SQL générées par l'outil à partir des différentes activités. Elle permet ainsi de savoir ce qui est actuellement exécuté par la plateforme. Cette option ne doit toutefois être utilisée que temporairement pendant le développement et ne pas être activée en production.
Purgez 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.
Dans la fenêtre des Propriétés du workflow, ne cochez jamais l'option Exécuter dans le moteur. Lorsque cette option est activée, le workflow devient prioritaire, et tous les autres workflows sont stoppés par le moteur de workflow tant qu'il n'est pas terminé.
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.
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 :
Vous pouvez configurer le niveau de criticité d'un workflow dans l'onglet Exécution des propriétés du workflow :
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.
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.
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.
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 des activités 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 s’affiche dans le journal et les logs SQL, le cas échéant, et permet de déboguer le workflow lors de sa configuration.
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.
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é --.
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.
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.