Partager via


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

Pour surveiller et gérer les processus, vous devez rechercher le processus, évaluer le statut et effectuer toutes les actions nécessaires pour résoudre les problèmes.

Surveillance des workflows d’arrière-plan

Les workflows d’arrière-plan génèrent des lignes Tâche système pour suivre leur statut. Vous pouvez accéder aux informations de ces tâches système à plusieurs emplacements dans l’application :

  • Paramètres>Tâches système

    Cette section indique tous les types de tâches système. Vous devrez filtrer les lignes sur ceux où Type de tâche système a la valeur Workflow.

  • À partir du processus de workflow en arrière-plan

    Ouvrez la définition de workflow en arrière-plan et accédez à l’onglet Session de traitement. Cela affiche uniquement les tâches système au workflow en arrière-plan.

  • À partir de la ligne

    Vous pouvez modifier le formulaire de table pour que la navigation contienne la relation Processus en arrière-plan. Toutes les tâches système ayant été démarrées dans le contexte de la ligne seront affichées.

Note

Si une tâche système asynchrone (workflow) échoue plusieurs fois de suite, le système commence à reporter l’exécution de cette tâche à intervalles de temps de plus en plus longs pour permettre à l’administrateur ou au créateur de l’application d’examiner et de résoudre le problème. Une fois que la tâche fonctionne de nouveau, elle recommence à s’exécuter normalement.

Actions sur les workflows d’arrière-plan en cours exécution

Lorsqu’un workflow d’arrière-plan s’exécute, vous disposez des options Annuler, Pause ou Reporter pour le workflow. Si vous avez déjà suspendu un workflow, vous pouvez le Reprendre.

Statut des processus de workflow en arrière-plan

Lorsque vous consultez une liste des processus de workflow en arrière-plan, tout processus individuel peut avoir l’une des valeurs État et Raison du statut suivantes :

État Raison du statut
Prêt En attente de ressources
Interrompu En attente
Verrouillé En cours

Suspension en cours

Annulation
Effectué Réussie

Échoué

Annulée

Suppression de lignes de journal de processus

Si votre organisation utilise des flux de processus métier ou des workflows d’arrière-plan qui s’exécutent souvent, la quantité de lignes de journal de traitement peut devenir suffisamment grande pour provoquer des problèmes de performances et consommer une quantité de stockage significative. Pour supprimer des lignes de journal de processus qui n’ont pas été suffisamment enlevés par une des tâches de suppression de lignes en bloc standard, vous pouvez utiliser la fonctionnalité de suppression en bloc à l’aide de tâches système pour créer une tâche de suppression de lignes en bloc personnalisée.

  1. Accédez à Paramètres>Gestion des données>Suppression en bloc des lignes.

  2. À partir de la zone Suppression en bloc des lignes, sélectionnez Nouveau.

  3. Dans la page de démarrage Assistant Suppression en bloc, sélectionnez Suivant.

  4. Dans la liste Rechercher, sélectionnez Tâches système.

  5. Les conditions suivantes sont utilisées pour créer une tâche de suppression de lignes en bloc afin de supprimer des lignes de journal de processus :

    • Type de tâche système Est égal à Workflow. Cela cible les lignes de workflow en arrière-plan.
    • Statut Est égal à Terminé. Seuls les workflows terminés peuvent faire l’objet d’une exécution de la tâche.
    • Raison du statut Est égal à Réussi. Supprimez les tâches ayant réussi, annulées et ayant échoué.
    • Terminé le Plus de X jours 30. Utilisez la colonne Terminé le pour ne supprimer que les lignes de journal de processus de workflow en arrière-plan qui datent de plus de 30 jours.

    Capture d’écran montrant les paramètres pour créer une tâche de suppression de ligne en bloc.

  6. Cliquez sur Suivant.

  7. Définissez la fréquence à laquelle votre tâche de suppression en bloc doit s’exécuter. Vous pouvez planifier votre tâche afin qu’elle s’exécute à des intervalles définis ou créer une tâche de suppression en bloc à usage unique à l’aide de l’option Immédiatement. Dans cet exemple, une tâche périodique est définie pour s’exécuter le 21 mai 2018, puis tous les 30 jours.

    Capture d’écran montrant les options de suppression de ligne en bloc.

Utilisation de l’option Immédiatement

Notez que vous pouvez effectuer une suppression en bloc synchrone immédiate des lignes en sélectionnant l’option Immédiatement. Cette suppression fait appel à une exécution SQL Server directe au lieu de faire passer chaque ligne par le pipeline d’événements de suppression, ce qui peut réduire l’impact sur les performances du système. Il s’agit d’une bonne option si vous souhaitez nettoyer rapidement les lignes de workflow d’arrière-plan supplémentaires en trop ; ainsi, la tâche de suppression en bloc n’a pas besoin d’attendre dans la file d’attente asynchrone pour effectuer son traitement.

L’option Immédiatement est activée quand les conditions suivantes sont remplies :

  • La tâche de suppression en bloc est destinée à la table Tâches système.
  • Les critères de recherche ont la condition Type de tâche système Est égal à Workflow.
  • L’utilisateur qui crée la tâche de suppression en bloc dispose d’une profondeur globale pour le privilège de suppression sur la table AsyncOperation. Le rôle de sécurité de l’administrateur système a ce privilège.

La suppression en bloc synchrone ne supprime que les lignes AsyncOperation qui sont dans l’état terminé. Au maximum, 1 million de lignes sont traités par appel. Vous devez exécuter la tâche plusieurs fois si votre environnement comporte plus de 1 million de lignes à supprimer.

Résoudre les problèmes

Échec de l’exécution du workflow après un changement de propriétaire

Lorsqu’un utilisateur propriétaire de workflow est désactivé, n’a plus les autorisations pour exécuter des workflows ou est modifié par un administrateur, les exécutions qui ont été précédemment démarrées et sont toujours à l’état En attente échouera à s’exécuter, car ils appartiennent au propriétaire précédent. Dans cette situation, il est recommandé d’Annuler les exécutions en attente qui appartiennent au propriétaire précédent. Si vous avez des exécutions qui ne peuvent pas être annulées et doivent être mises à jour vers le nouveau propriétaire, (contactez l’assistance)[/power-platform/admin/get-help-support] pour obtenir de l’aide.

Étape suivante

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