Priorité du flux

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 5 minutes de lecture
  • Spécifiez la priorité que vous souhaitez donner à un flux en arrière-plan par rapport aux autres flux en attente d'exécution. Exécutez un groupe de flux de priorité supérieure avant d’exécuter des flux de priorité inférieure.

    Vous ne pouvez définir une priorité de flux que pour les flux qui s’exécutent en arrière-plan. Les flux en arrière-plan s’exécutent à partir du prochain thread de travailleur disponible. Par défaut, Studio de workflow peut utiliser jusqu’à la moitié des threads de travail disponibles pour exécuter des flux en arrière-plan. S’il n’y a aucun thread d’agent disponible pour exécuter un flux, le flux est mis en file d’attente jusqu’à ce qu’il y ait un thread d’agent disponible pour l’exécuter.

    Vous pouvez définir les flux en arrière-plan pour qu’ils aient l’une de ces valeurs de priorité.
    • Élevé
    • Moyenne
    • Faible
    Par défaut, les flux en arrière-plan s’exécutent avec une priorité moyenne.
    Remarque :
    Les flux qui s’exécutent au premier plan s’exécutent dans le thread actuel et n’utilisent pas la priorité de flux pour déterminer l’ordre d’exécution.

    La définition d’une priorité de flux détermine l’ordre dans lequel les threads de l’agent sélectionnent les flux dans la file d’attente. Les threads de travail exécutent plusieurs flux de priorité supérieure avant d’exécuter un flux de priorité inférieure. Ce schéma de priorité garantit que certains flux de priorité inférieure sont exécutés même lorsque des flux de priorité élevée sont placés dans la file d’attente. Lorsqu’il y a une grande file d’attente de travail à exécuter, la plupart des flux de priorité basse doivent attendre l’exécution des flux de priorité élevée. Une fois les flux de priorité élevée exécutés, les threads de travail peuvent exécuter des flux de priorité inférieure.

    Si un flux reste dans la file d’attente pendant plus d’une minute, le système délègue le flux à un autre nœud pour qu’il l’exécute. Lorsqu’un flux est délégué à un autre nœud, il perd sa valeur de priorité. Un nœud délégué extrait les flux de la file d’attente des événements dans l’ordre chronologique. Le nœud délégué exécute d’abord les flux les plus anciens, puis les plus récents. En règle générale, la délégation de flux à exécuter à partir d’un autre nœud se produit uniquement lorsque tous les threads de travail disponibles sur un nœud sont occupés.
    Remarque :
    Les threads de travail exécutent tous les événements système, pas seulement les événements de flux.

    Les flux perdent également leur valeur de priorité lorsqu’ils sont mis en pause pour une raison quelconque. Les flux qui reprennent après une pause s’exécutent à la priorité moyenne par défaut. Par exemple, un flux peut commencer à s’exécuter avec une priorité élevée, puis s’arrêter pour attendre une durée. Lorsque le flux reprend son exécution, il s’exécute avec une priorité moyenne.

    Mise en pause automatique des flux de faible priorité

    Par défaut, le système recherche les tickets pour lesquels des flux de priorité élevée sont bloqués par l’exécution de flux de priorité inférieure. Chaque fois qu’une priorité faible s’exécute pendant plus de deux minutes, le système vérifie si des flux de priorité supérieure se sont exécutés au cours des cinq dernières minutes. Si aucun flux de priorité élevée ne s’est exécuté récemment, le système vérifie le nombre de flux en attente d’exécution dans la file d’attente de l’événement. S’il existe un backlog d’au moins 100 flux de priorité élevée en attente d’exécution dans la file d’attente d’événements, le système met en pause le flux de priorité basse en cours d’exécution. La pause d’un flux préserve son contexte et ses données. Un flux en pause revient à la file d’attente de l’événement pour s’exécuter lorsqu’un agent est disponible pour le traiter.

    Si vos flux de priorité basse ne s’exécutent pas comme prévu, examinez le nombre de flux de priorité élevée que votre système génère et exécute. Consultez les considérations relatives à la conception pour savoir quand définir un flux sur une priorité élevée ou faible. Si vos flux de priorité basse ne sont toujours pas en cours d’exécution, vous pouvez désactiver la mise en pause de la priorité basse avec une propriété système. Voir pour Studio de workflow Propriétés système du flux modifier la valeur de la propriété com.glide.hub.pause_low_priority_flows_enabled.

    Prise en charge rapide de l’API

    La méthode d’API rapide conserve les paramètres de priorité. Les flux exécutés par la méthode API rapide s’exécutent avec la même priorité que celle définie précédemment pour le flux.

    Considérations relatives à la conception

    Suivez ces considérations de conception lors de la définition de la priorité du flux.

    Évitez de définir tous les flux pour qu’ils s’exécutent avec une priorité élevée
    Utilisez une combinaison de priorités plutôt que de définir tous les flux sur une priorité élevée. Les threads des agents utilisent la priorité relative entre les flux pour sélectionner le travail. Si tous vos flux s’exécutent avec une priorité élevée, il n’y a alors aucun flux de priorité inférieure à faire attendre.
    Évitez de définir la priorité du flux pour les flux qui doivent être mis en pause
    Conservez la priorité moyenne par défaut des flux qui doivent être mis en pause, car un flux qui s’interrompt perd sa valeur de priorité lorsqu’il reprend son exécution.
    Utiliser une priorité élevée pour les flux critiques pour le métier
    Limitez la priorité élevée aux flux qui ont une valeur commerciale élevée, qui s’exécutent rarement et qui ont une courte durée d’exécution. Évitez de définir les flux à volume élevé sur une priorité élevée, car cela limite le nombre de threads de travail disponibles pour exécuter d’autres flux. Un flux de priorité élevée de longue durée peut également réduire les threads de travail disponibles pour exécuter d’autres flux.
    Utiliser la priorité basse pour les débits à volume élevé
    Exécuter des flux à volume élevé avec une priorité basse afin que les autres flux sensibles au facteur temps puissent s’exécuter en premier. Les flux de faible priorité ne doivent pas être urgents.
    Utiliser la priorité moyenne pour les flux sensibles au facteur temps
    Utilisez la priorité de flux par défaut lorsqu’un flux a une certaine urgence de temps par rapport à d’autres flux.