Meilleures pratiques pour les processus de workflow en arrière-plan

Cette rubrique contient les meilleures pratiques pour créer et gérer des processus de workflow en arrière-plan.

Éviter des boucles infinies

Il est possible de créer une logique dans un workflow en arrière-plan 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 d’arrière-plan pour démarrer lorsqu’une colonne est mis à jour, puis mis à jour cet colonne dans la logique du workflow. L’action de mise à jour déclenche le même workflow en arrière-plan qui met à jour la ligne et déclenche le workflow d’arrière-plan à 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 d’arrière-plan est exécuté plus qu’un certain nombre de fois sur un ligne 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. Le nombre limite d’exécutions est de16.

Utiliser des modèles de workflow en arrière-plan

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 arrière-plan comme modèle de workflow. De cette façon, la prochaine fois que vous devez créer un workflow similaire, utilisez le modèle pour créer le workflow d’arrière-plan 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 pour ne pas avoir à la répliquer manuellement dans chaque workflow en arrière-plan 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.

Supprimer automatiquement les tâches de workflow en arrière-plan terminées

Pour les workflows d’arrière-plan (asynchrones), nous vous recommandons de sélectionner l’option Supprimer automatiquement les tâches de workflow terminées (pour libérer de l’espace disque) dans la définition des workflows en arrière-plan. Le fait de cocher cette case permet au système de supprimer les journaux des workflows d’arrière-plan relatifs aux exécutions réussies afin d’économiser de l’espace. Notez que les journaux liés aux exécutions de workflow en arrière-plan ayant échoué sont toujours enregistrés à des fins de dépannage.

Rétention des tâches de workflow.

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

L’exécution de plusieurs workflows d’arrière-plan 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 la même ligne de compte peuvent entraîner des problèmes de verrouillage des ressources. Des échecs de workflow en arrière-plan 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 permettra aux autres utilisateurs de comprendre les modifications.

Étapes suivantes

Configurer les processus de workflow en arrière-plan
Superviser et gérer les processus de workflow en arrière-plan