Bonnes pratiques pour les processus de flux de travail en temps réel

Cet article contient les meilleures pratiques pour créer et gérer des processus de workflow en temps réel.

Éviter des boucles infinies

Il est possible de créer une logique dans un workflow en temps réel qui initialise une boucle infinie, ce qui consomme les ressources serveur et affecte les performances. Les boucles infinies se produisent le plus souvent lorsque vous avez configuré un workflow en temps réel pour démarrer lorsqu’une colonne est mise à jour, puis qu’il met à jour cette colonne dans la logique du workflow. L’action de mise à jour déclenche le même workflow en temps réel qui met à jour l’enregistrement et déclenche le workflow en temps réel à l’infini.

Les workflows que vous créez contiennent une logique de détection et d’arrêt des boucles infinies. Si un processus de workflow en temps réel est exécuté plus qu’un certain nombre de fois sur un enregistrement spécifique dans un court laps de temps, le processus échoue avec l’erreur suivante : Cette tâche de workflow a été annulée, car le workflow qui l’a lancée comprenait une boucle infinie. Corrigez la logique de workflow, puis ressayez. La limite est de 16.

Utiliser des modèles de workflow en temps réel

Si des workflows sont similaires et que vous anticipez la création d’autres workflows qui suivent le même modèle, enregistrez le workflow en temps réel comme modèle de workflow. De cette façon, la prochaine fois que vous devez créer un workflow similaire, créez le workflow en temps réel en utilisant le modèle sans devoir entrer de nouveau toutes les conditions et actions.

Dans la boîte de dialogue Créer un processus, sélectionnez Nouveau processus à partir d’un modèle existant (sélection à partir d’une liste).

Utiliser les workflows enfants

Si vous appliquez la même logique dans différents workflows ou dans des branches conditionnelles, définissez cette logique comme workflow enfant en temps réel pour ne pas avoir à la répliquer manuellement dans chaque workflow en temps réel ou branche conditionnelle. Cette méthode facilite la maintenance des workflows. Au lieu d’examiner plusieurs workflows susceptibles d’appliquer la même logique, vous pouvez mettre à jour un seul workflow.

Conserver les journaux pour les tâches de workflow en temps réel qui rencontrent des erreurs

Pour les workflows qui ne s’exécutent pas en arrière-plan (synchrones), nous vous recommandons de sélectionner l’option Conserver les journaux pour les tâches de workflow qui rencontrent des erreurs dans la définition des workflows en temps réel. Quand vous sélectionnez cette option, les journaux liés aux exécutions de workflow en temps réel ayant échoué sont enregistrés à des fins de dépannage. Les journaux liés aux exécutions de workflows synchrones ayant réussi sont toujours supprimés à des fins d’économie d’espace.

Option permettant de conserver les journaux pour les workflows ayant échoué.

Limiter le nombre de workflows qui mettent à jour la même table

L’exécution de plusieurs workflows en temps réel qui mettent à jour la même table peut entraîner des problèmes de verrouillage des ressources. Imaginez plusieurs workflows qui s’exécutent lorsqu’une mise à jour d’opportunité déclenche une mise à jour du compte associé. Plusieurs instances de ces workflows qui s’exécutent et tentent de mettre à jour simultanément le même enregistrement de compte peuvent entraîner des problèmes de verrouillage des ressources. Des échecs de workflow en temps réel se produisent et un message d’erreur tel que Expiration de SQL : Impossible d’obtenir un verrou sur la ressource nom de la ressource, est enregistré.

Utiliser les notes pour suivre les modifications

Lorsque vous modifiez des workflows, utilisez l’onglet Notes et tapez ce que vous avez fait et pourquoi. Cela permet aux autres utilisateurs de comprendre les modifications.

Étapes suivantes

Configurer les processus de workflow en temps réel
Superviser et gérer les processus de workflow en temps réel

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).