Limitations et performances du flux de travail SharePoint 2013 dans SharePoint et Project

Introduction

Cet article contient des informations sur les scénarios de limitation et les limitations pour les flux de travail qui utilisent le type de plateforme de flux de travail SharePoint 2013 dans SharePoint et Project dans Microsoft 365.

Remarque : Les flux de travail SharePoint 2010 ont été désactivés depuis le 1er août 2020 pour les nouveaux clients et supprimés des clients existants le 1er novembre 2020.  Si vous utilisez des flux de travail SharePoint 2010, nous vous recommandons de procéder à une migration de Power automate ou d’autres solutions prises en charge. Pour plus d’informations, voir mise en service du flux de travail 2010 SharePoint.

Informations supplémentaires

Pour plus d’informations sur la limitation dans SharePoint, voir procédure : éviter les limitations ou les blocages dans SharePoint.


Pour en savoir plus sur les limites des messages électroniques pour les flux de travail SharePoint, voir erreur « la limite quotidienne de messages a été dépassée et votre flux de travail a été suspendu » dans SharePoint.


L’activité du flux de travail SharePoint 2013 peut être régie par deux niveaux de limitation :

  • Limitation de SharePoint

  • Limitation du service de flux de travail

Limitation du service de flux de travail

La limitation est effectuée pour permettre une utilisation équitable des ressources. Il protège également l’environnement des flux de travail et des flux de travail dangereux qui ne respectent pas les meilleures pratiques. La limitation du service de flux de travail n’est pas contrôlée par SharePoint. Le service de flux de travail et SharePoint étant deux services indépendants, chacun d’entre eux accélère le fonctionnement global du service. Dans le service de flux de travail, la limitation est effectuée au niveau de l’étendue du flux de travail qui s’aligne sur les sites SharePoint. La limitation n’est pas globalement comptabilisée. Au lieu de cela, chaque service principal de flux de travail effectue une trace indépendante de l’utilisation d’une étendue de flux de travail. L’étendue d’un flux de travail peut comporter un ou plusieurs flux de travail. La limitation du flux de travail est dynamique et sera réévaluée périodiquement par l’étendue du flux de travail et par le service de flux de travail principal. 

Le service de flux de travail limite également le nombre de demandes sortantes qu’une instance de flux de travail unique peut générer. Sur une période de 24 heures, une seule instance de flux de travail peut générer jusqu’à 5 000 demandes sortantes. Après la génération de demandes sortantes de 5 000 sur une période de 24 heures, le flux de travail est suspendu par le service de flux de travail.

La page État du flux de travail pour le flux de travail contient des informations sur le workflow suspendu. Dans ce scénario, la bulle d’information pour le statut interne affiche le message suivant :

  • L’instance a dépassé le quota de requête http sortant pour une période de 1,00:00:00. La limite de requête 5000 a été atteinte dans <temps>.

    Remarque : Le <> espace réservé représente le temps nécessaire pour atteindre la limite de requête 5 000 pour votre flux de travail.

Vous pouvez reprendre l’instance de flux de travail suspendu en cliquant sur curriculum vitae pour le flux de travail ou en utilisant le modèle d’objet de flux de travail SharePoint après un délai de 24 heures. Cette opération doit intervenir avant le arrêt du flux de travail.

Si le flux de travail dépasse la limite d’utilisation du processeur, la page État du flux de travail pour le flux de travail contient des informations sur le workflow suspendu. Dans ce scénario, la bulle d’information pour le statut interne affiche le message suivant : 

  • L’instance de flux de travail a dépassé la limite d’utilisation de l’UC de 00:00:01.2000000 et ne peut pas être déchargée, car elle n’a pas été persistable.


Les instances de flux de travail suspendues seront arrêtées au bout de 10 jours. Lorsque le flux de travail est arrêté, la bulle d’information associée au statut interne affiche le message suivant :

  • System. Activities. instructions. WorkflowTerminatedException : l’instance a été déplacée de l’état suspendu vers l’état arrêté, car elle a expiré.

Un flux de travail arrêté sera finalement nettoyé. Après le nettoyage d’un flux de travail arrêté, le message suivant s’affiche :

  • Désolé... Nous avons rencontré un problème.
    Nous ne trouvons pas ce flux de travail. Les instances achevées sont automatiquement nettoyées

Étendues du flux de travail

Une étendue de flux de travail est définie comme un site dans une collection de sites. Par exemple, l’URL suivante concerne une collection de sites racine et est considérée comme une étendue du flux de travail :

    https://contoso.sharepoint.com/sites/rootsite

Vous trouverez ci-dessous un exemple d’une autre étendue de flux de travail dans la même collection de sites. Toutefois, cette étendue du flux de travail se trouve dans un sous-site.

    https://contoso.sharepoint.com/sites/rootsite/subsite

Qu’est-ce qu’une requête ?

Les flux de travail SharePoint 2013 sont basés sur le modèle de compléments pour SharePoint et utilisent des API REST pour interagir avec les données SharePoint. Pour en savoir plus, voir découvrir le service REST de SharePoint 2013.

Une requête est un appel réseau du service de flux de travail vers un point de terminaison d’API REST de SharePoint ou de Project. Il n’y a pas de différence entre le type de demande ou la réponse d’une demande donnée. Une action et ses activités de composition n’apportent pas le nombre de demandes, sauf si la requête implique une API REST SharePoint 2013. Par exemple, l’action consigner dans l’historique de la liste est susceptible de générer au moins 5 demandes d’exécution correcte. De plus, la logique de réessayer est intégrée aux flux de travail en cas de problème. Cela peut générer des demandes supplémentaires.

Bon nombre d’actions génèrent des requêtes, et les requêtes peuvent être réduites à l’aide de recommandations. Par exemple, vous pouvez utiliser une action de l' élément de liste à mise à jour unique à la place de plusieurs champs définis dans l’action élément actif pour réduire le nombre de demandes effectuées par une étendue de flux de travail, mais obtenir les mêmes résultats. 

Recommandations en matière de conception de flux de travail

Il existe de nombreuses façons de générer beaucoup de demandes dans un flux de travail, ce qui peut entraîner une limitation. Voici quelques exemples généraux :

  • Flux de travail en boucle dynamique unique ou plusieurs flux de travail en boucle dynamique

  • Flux de travail associé à une liste ou une bibliothèque pendant la migration du contenu vers SharePoint.

  • Les versions précédentes du flux de travail qui ont été corrigées et qui continuent d’exécuter les instances de flux de travail qui présentent des problèmes de configuration jusqu’à l’arrêt du flux de travail.

La limitation de l’étendue du flux de travail appliquée par le service de flux de travail doit permettre aux scénarios typiques de cas d’utilisation de flux de travail. Toutefois, dans la mesure où la logique d’un flux de travail se développe plus en plus sophistiquée, le flux de travail peut dépasser les limites sûres.

Les scénarios de flux de travail spécifiques suivants entraînent également une limitation.

Scénario 1 : flux de travail qui effectue une boucle pour suivre les modifications

Par exemple, vous pouvez vérifier un élément pour les mises à jour au lieu d’attendre la mise à jour d’un élément.

Scénario 2 : utilisation d’un flux de travail pour exécuter des algorithmes complexes

Les flux de travail sont destinés à gérer les processus humains et les flux de travail, et non à l’envoi de tâches informatiques significatives.

Scénario 3 : exécution de plusieurs flux de travail qui utilisent l’attente d’un événement dans un élément de liste

Dans ce scénario, chaque flux de travail détectera les modifications apportées à la liste cible. Si le nombre de flux de travail est en cours d’exécution, chaque flux de travail doit réagir à l’événement déclenché et éventuellement rappeler dans SharePoint pour effectuer le travail. 

Remarque : Ce problème peut également se produire s’il existe de nombreuses modifications dans une liste à laquelle un flux de travail est configuré pour démarrer lors de la création ou de la modification d’un élément.

Alternatives au scénario 1 : flux de travail qui effectue une boucle pour suivre les modifications

Option 1 : utiliser les compléments SharePoint et les récepteurs d’événements externes

La conception du flux de travail doit être réévaluée et une autre approche de conception doit être utilisée. Les compléments SharePoint ou les récepteurs d’événements externes sont plus appropriés pour cette tâche.

Option 2 : ajouter une action de pause

Vous pouvez améliorer la conception du flux de travail en ajoutant un délai (c’est-à-dire une action de pause). Cela devrait réduire le trafic généré. Toutefois, elle ne modifie pas les lacunes générales de cette conception.

Option 3 : utiliser l’activité « attendre la modification du champ dans l’élément actif »

Au lieu de rechercher les modifications à l’aide d’une boucle, il est préférable d’utiliser les récepteurs d’événements par défaut. Un flux de travail peut être démarré lors de la création ou de la modification d’un élément. L’exécution d’instances de flux de travail multiples au lieu d’un flux de travail dans une boucle agressive est une meilleure approche. Les conditions dans le flux de travail peuvent être configurées de manière à ce qu’elles s’exécutent uniquement en cas de besoin.

Boîte de dialogue Options de démarrage

Une seule instance de flux de travail d’un flux de travail peut être en cours d’exécution à un moment donné. 

Une autre approche consiste à utiliser le champ attendez la fin du changement d’activité dans l’élément actif

La conception du flux de travail peut utiliser une colonne Choice qui comporte plusieurs valeurs pour piloter l’exécution du flux de travail. Uniquement quand une option appropriée est choisie par un utilisateur final sera le processus de reprise du flux de travail. Cela peut empêcher le démarrage d’une boucle agressive et d’instances de flux de travail inutiles. Le flux de travail s’exécute lorsque l’élément est prêt au lieu d’exécuter ou de démarrer plusieurs instances.

Vous pouvez surveiller plusieurs valeurs de plusieurs champs en utilisant plusieurs blocs parallèles. Le flux de travail peut attendre un état spécifique, puis continuer à exécuter un chemin d’accès donné, comme dans l’exemple suivant :

  1. Créer une variable de type booléen .

    Boîte de dialogue Modifier la variable

  2. Définissez la valeur sur non.

  3. Insérez un bloc parallèle, cliquez avec le bouton droit sur le bloc, puis cliquez sur Propriétés avancées.

    Boîte de dialogue Propriétés

  4. Dans la liste déroulante, sélectionnez la variable que vous avez créée à l’étape 1.

  5. Insérez deux blocs parallèles dans le bloc parallèle inséré qui dispose de la propriété CompletionCondition .
     

  6. Dans le premier des deux blocs parallèles que vous avez insérés à l’étape 5, insérez le champ attendre la modification du champ dans l’activité de l’élément actif . Modifiez l’activité de sorte qu’elle surveille une colonne de choix. Ne pas surveiller le choix par défaut.

  7. Définir la variable de flux de travail qui est utilisée pour arrêter l’utilisation de l’autre bloc parallèle sur Oui.

  8. Répétez les étapes 1-7 pour les autres valeurs de colonne choix.

  9. Déplacez les autres parties du flux de travail d’origine vers une position après les blocs parallèles.

Lorsque toutes ses activités sont exécutées sur l’un des blocs parallèles imbriqués, le bloc parallèle parent met fin aux autres activités dans les autres blocs parallèles. Cela permet au flux de travail de continuer. Les blocs parallèles imbriqués sont surveillés par le bloc parallèle parent en utilisant une variable.

Option 4 : démarrer un flux de travail 2010 SharePoint à partir du flux de travail SharePoint 2013

Vous pouvez utiliser le type de plateforme de flux de travail SharePoint 2010 pour effectuer certaines des tâches que le type de plateforme de flux de travail SharePoint 2013 effectue. Cela peut réduire le nombre de requêtes.

Plus précisément, un flux de travail 2010 SharePoint peut être démarré pour contrôler les changements de champs à l’aide de l’option attendre la modification du champ dans l’activité actuelle du composant ou effectuer d’autres opérations de base.

Alternative au scénario 2 : utilisation d’un flux de travail pour exécuter des algorithmes complexes

Si votre solution exige des tâches informatiques significatives, vous devez envisager le développement d’un complément pour SharePoint. Pour plus d’informations, accédez à compléments SharePoint.


Vous avez encore besoin d’aide ? Accédez à la communauté Microsoft.

Besoin d’aide ?

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×