UiPath Documentation
orchestrator
latest
false

Guide de l'utilisateur d'Orchestrator

Dernière mise à jour 5 mai 2026

Déclencheurs de file d'attente

Important :
  • Vous pouvez créer un unique déclencheur de file d’attente par file d’attente. Cela s’applique également aux files d’attente partagées entre plusieurs dossiers.
  • Fuseaux horaires du déclencheur : le fuseau horaire configuré pour un déclencheur ne se limite pas à celui du locataire. Cependant, si vous utilisez des calendriers de jours non ouvrables, vous ne pouvez pas définir de fuseaux horaires différents. Les déclencheurs de file d’attente sont lancés en fonction du fuseau horaire défini au niveau du déclencheur. Les déclencheurs de file d’attente sont lancés en fonction du traitement des éléments de la file d’attente. Les déclencheurs de file d’attente sont désactivés en fonction du fuseau horaire du déclencheur.

Peut démarrer instantanément un processus lors de la création du déclencheur ou chaque fois que vous ajoutez un nouvel élément à une file d’attente. Le déclencheur de file d'attente s'exécute dans l'environnement associé au processus sélectionné.

Lorsqu’un grand nombre d’éléments de file d’attente sont ajoutés en peu de temps (par exemple, à l’aide d’AddQueueItem ou BulkAddQueueItems), le processus peut ne pas démarrer immédiatement. Pour gérer de telles situations, un mécanisme de revérification est mis en œuvre pour garantir que le processus est déclenché une fois les ressources disponibles.

Important :

L'implémentation des déclencheurs de file d'attente est optimisée pour utiliser des processus qui disposent d'une boucle interne pour traiter tous les éléments de la file d'attente disponibles avant de quitter. Si un processus ne met pas en œuvre cette stratégie, l'expérience qui en résulte sera sous-optimale et pourrait ne pas répondre aux besoins des entreprises.

Ces options vous aident à paramétrer les règles de déclenchement des processus :

Description
Nombre minimal d'éléments pour déclencher la première exécutionLa tâche de traitement d'éléments n'est démarrée qu'après que la file d'attente ciblée comporte au moins ce nombre de nouveaux éléments. Les éléments de file d'attente différés ne sont pas comptés.
Nombre maximal d'exécutions en attente et en cours autorisées simultanémentNombre maximal de tâches en attente et en cours autorisés, comptées ensemble. Pour 2 tâches ou plus autorisées simultanément, la troisième option doit être définie, comme décrit ci-dessous.
Une autre exécution est déclenchée pour tous les __ nouveaux élémentsUne nouvelle tâche est déclenchée pour chaque nombre de nouveaux éléments ajoutés en plus du nombre d'éléments définis pour la première option. Uniquement activée s’il y a 2 tâches ou plus autorisées simultanément (défini à l'aide de l’option décrite ci-dessus).
Une fois les tâches terminées, réévaluez les conditions et démarrez de nouvelles tâches si possibleSi cette option est sélectionnée, le déclencheur de file d’attente est évalué à la fin de chaque tâche, et de nouvelles tâches sont démarrées si des robots sont disponibles. Cela complète la vérification automatique qui se produit toutes les 30 minutes et permet de garantir que les éléments de file d’attente restants sont traités sans décalages dans la mesure du possible.

Pour gérer les éléments de file d’attente qui ne peuvent pas être traités au moment où ils sont mis en file d’attente, y compris les éléments ayant fait l'objet d'une nouvelle tentative, une vérification des éléments non traités est effectuée par défaut toutes les 30 minutes ; si les conditions de déclenchement sont remplies, le déclencheur est relancé.

Vous pouvez utiliser le paramètre Files d’attente - Fréquence de vérification des éléments de la file d’attente non traités (minutes) (Queues - Unprocessed queue items check frequency(minutes)) pour ajuster l’intervalle de vérification par défaut de 30 minutes.

Cette vérification permet de s’assurer que tous les éléments de la file d’attente sont traités dans les situations suivantesnbsp:

  • Les éléments de file d’attente sont ajoutés à la file d’attente beaucoup plus rapidement qu’ils ne peuvent être traités avec les ressources disponibles.
  • Les éléments de file d’attente sont ajoutés à une file d’attente pendant les jours non ouvrables, mais ils ne peuvent être traités que pendant les heures ouvrées.
  • Le traitement des éléments de file d’attente est reporté à une heure ultérieure. Une fois ce délai écoulé, ils sont prêts à être traités une fois qu’ils ont été identifiés par la vérification de 30 minutes.
    Remarque :

    En raison de la vérification réglée par défaut sur 30 minutes, il existe un risque que les ressources soient bloquées pendant les heures non ouvrables. Pour éviter cette situation, assurez-vous qu’il n’existe aucun élément non traité à la fin de la journée de travail. Si ce n’est pas possible, assurez-vous que le processus déclenché ne nécessite pas d’intervention humaine.

Algorithme de traitement du déclencheur de file d'attente

Variables

VariableDescription
newItemsNombre de nouveaux éléments de file d'attente disponibles dans la file d'attente.
minItemsToTriggerNombre minimal d’éléments requis pour déclencher la première tâche. La première tâche ne démarre que lorsqu’il y a au moins ce nombre de nouveaux éléments.
maxConcurrentJobsNombre maximal de tâches en attente et en cours autorisées simultanément. Il s'agit du plafond sur les tâches parallèles.
itemsPerJobNombre d’éléments supplémentaires nécessaires pour déclencher chaque tâche suivante. Lorsque la valeur minItemsToTrigger est atteinte, une tâche démarre. Pour tous les éléments itemsPerJob supplémentaires au-delà de minItemsToTrigger, une autre tâche démarre, jusqu'à maxConcurrentJobs.
pendingJobsNombre de tâches actuellement à l’état En attente.
runningJobsNombre de tâches à l’état Reprise, En cours d’exécution, En cours d’arrêt ou En fin d’exécution.
enablePendingJobsStrategyParamètre booléen qui détermine si les tâches en cours d'exécution sont comptabilisées par rapport à la capacité restante.

Le paramètre Déclencheurs - Déclencheurs de file d'attente - Activer la stratégie des tâches en attente détermine comment Orchestrator calcule la capacité restante : le nombre de tâches supplémentaires qu'il est autorisé à planifier :

  • Vrai : capacité restante = maxConcurrentJobs moins pendingJobs. Utilisez ce paramètre lorsque les tâches en cours d’exécution sont censées avoir déjà réattribué leurs éléments de file d’attente à partir du statut Nouveau .
  • Faux : capacité restante = maxConcurrentJobs moins pendingJobs moins runningJobs. Utilisez ce paramètre lorsque les tâches en cours d’exécution ne sont pas encore censées posséder leurs éléments de file d’attente depuis le statut Nouveau .

Orchestrator planifie la plus petite valeur de deux valeurs : la capacité restante et le nombre de tâches souhaitées en fonction du nombre d’éléments de la file d’attente. Le paramètre contrôle donc la planification des nouvelles tâches de manière prudente ou Active.

Formulas

1. Capacité restante

if enablePendingJobsStrategy = true:
    remainingCapacity = maxConcurrentJobs - pendingJobs

if enablePendingJobsStrategy = false:
    remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs
if enablePendingJobsStrategy = true:
    remainingCapacity = maxConcurrentJobs - pendingJobs

if enablePendingJobsStrategy = false:
    remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs

2. Tâches souhaitées (avant la limite de capacité)

if newItems < minItemsToTrigger:
    desiredJobs = 0
else:
    desiredJobs = 1 + (newItems - minItemsToTrigger) / itemsPerJob   [integer division]
if newItems < minItemsToTrigger:
    desiredJobs = 0
else:
    desiredJobs = 1 + (newItems - minItemsToTrigger) / itemsPerJob   [integer division]

3. Tâches à planifier

jobsToSchedule = min(desiredJobs, remainingCapacity)
jobsToSchedule = min(desiredJobs, remainingCapacity)

Remarque importante

  • Cette évaluation se produit chaque fois qu'un seul élément de file d'attente est ajouté, y compris via un ajout en bloc.
  • Afin de s'assurer que les éléments de file d'attente différés sont pris en compte, chaque déclencheur de file d'attente est associé à une planification qui revérifie l'ensemble de l'algorithme ci-dessus. Cela se produit par défaut toutes les 30 minutes, mais peut être réduit à un minimum de 10 via le paramètre de locataire Files d'attente (Queues) : fréquence de vérification des éléments de file d'attente non traités (minutes).
    Remarque :

    Les éléments reportés ne sont traités qu’une fois que leur délai de report est écoulé. La tâche intégrée qui vérifie les éléments différés s’exécute toutes les 30 minutes. Cependant, si un nouvel élément est ajouté à la même file d’attente après qu’un élément différé est déjà disponible, le déclencheur de file d’attente est relancé. L’élément différé peut être récupéré sans attendre le prochain contrôle planifié.

  • L'algorithme a été conçu pour garantir qu'une tâche démarre une fois qu'un seuil est atteint, et que lorsque le seuil est dépassé, des tâches supplémentaires commencent à aider à traiter l'augmentation du retour. Il n'est pas conçu pour répartir uniformément la charge de travail entre les machines, mais pour s'assurer qu'un nombre suffisant de tâches sont présentes.
  • Il n’y a pas de lien matériel entre les tâches démarrées et les éléments de la file d’attente qu’elles traitent. La tâche J n'est pas nécessairement affectée aux éléments de la file d'attente a, b ou c.
  • Les résultats de l'algorithme diffèrent selon que les éléments de la file d'attente ont été ajoutés en bloc ou individuellement, car cela influence le nombre d'évaluations effectuées.
  • Lors de l’utilisation de déclencheurs de file d’attente, vous pouvez rencontrer l’alerte suivante : The trigger could not create a job as the maximum number of jobs has been reached. Cette alerte est informative et signifie généralement qu’une tâche était déjà en cours d’exécution lorsqu'Orchestrator a essayé d’en démarrer une autre. Si vous êtes satisfait de votre capacité actuelle à gérer les tâches, vous pouvez l'ignorer en toute sécurité.

Exemple

Scénario 1 : éléments de la file d'attente ajoutés individuellement

Dans ce scénario, le paramètre Activer la stratégie des tâches en attente est défini sur False. Pour plus d'informations sur la mise à jour de la valeur, consultez Paramètres du locataire.

Deux tâches sont utilisées dans ce scénario :

  • On ajoute 3 éléments par seconde pendant 20 secondes à la file d’attente ciblée (60 éléments au total.
  • Un traite 1 élément par seconde à partir de la file d’attente ciblée.

Le déclencheur est configuré comme suit :

  • Nombre minimum d'éléments requis pour déclencher la première tâche: 31
  • Nombre maximal d'exécutions en attente et en cours autorisées simultanément: 3
  • Une autre exécution est déclenchée pour tous les: 10 nouveaux éléments

Après le démarrage de la tâche qui ajoute des éléments à la file d'attente :

  1. Après 11 secondes (33 éléments), la première tâche de traitement d'élément se déclenche.
  2. Après 4 autres secondes (12 éléments), la deuxième tâche de traitement d'élément se déclenche.
  3. Après 4 autres secondes (12 éléments), la troisième tâche de traitement d'élément se déclenche.

Une fois l’ajout d’élément de file d’attente terminé, la première tâche a traité 9 éléments, la deuxième 5 éléments et la troisième 1 élément : 15 éléments en 20 secondes traités par trois tâches.

Les 45 éléments restants (60 à 15) sont traités par 3 tâches à 1 élément par seconde chacune, de façon à obtenir 15 secondes supplémentaires. Délai total de traitement : 35 secondes.

Scénario 2 : éléments de file d'attente ajoutés en bloc

Dans ce scénario, le paramètre Activer la stratégie des tâches en attente est défini sur False. Pour plus d'informations sur la mise à jour de la valeur, consultez Paramètres du locataire.

Si les 60 éléments de file d'attente du Scénario 1 sont ajoutés avec une opération en bloc, 3 tâches sont créées.

Si au moins une tâche se termine avant la planification de la réévaluation, d'autres tâches sont créées.

Activer les exemples de stratégie des tâches en attente

Ces exemples illustrent comment le paramètre Activer la stratégie des tâches en attente peut entraîner une sur-planification lorsqu'il est activé et une sous-planification lorsqu'il est désactivé.

Configuration du déclencheur

ParamètreValeur (Value)
Nombre minimal d'éléments de la file d'attente pour déclencher1
Nombre maximal dʹexécutions en attente et en cours1 000
Une autre exécution déclenchée pour chaque1 nouvel élément
Une fois la tâche terminée, réévaluezVrai
Activer la stratégie des tâches en attenteVrai (Partie 1)

Hypothèse : il faut 30 secondes à une tâche pour sortir un élément de la file d’attente du statut Nouveau .

Partie 1 : Sur-planification avec la stratégie Activer les tâches en attente activée

Étape 1 : 100 éléments sont ajoutés à la file d'attente en bloc, déclenchant 1 000 tâches.

Étape 2 : Seuls 200 robots sont disponibles. 200 tâches exécutées et 800 tâches restantes en attente.

Tâches (Jobs)Nombre
En cours d'exécution200
En attente800
Éléments de file d'attenteÉtat (Status)
200En cours
900Nouveau

Étape 3 : les 200 tâches en cours d'exécution se terminent, déclenchant 200 tâches supplémentaires à exécuter.

Tâches (Jobs)Nombre
En cours d'exécution200
En attente600
Éléments de file d'attenteÉtat (Status)
200Réussi
200En cours
700Nouveau

Étape 4 : étant donné que la tâche est terminée, la réévaluation est activée, le déclencheur s'exécute à nouveau en quelques secondes. Lorsque l’option Activer la stratégie des tâches en attente est activée, Orchestrator suppose que toutes les 200 tâches en cours d’exécution ont déjà retiré leurs éléments de la file d’attente du statut Nouveau , même si cela prend réellement 30 secondes.

Étape 5 : calcul du déclencheur à ce stade :

remainingCapacity = maxConcurrentJobs - pendingJobs = 1000 - 600 = 400
desiredJobs       = newItems - pendingJobs          = 700 - 600  = 100
jobsToSchedule    = min(100, 400)                               = 100
remainingCapacity = maxConcurrentJobs - pendingJobs = 1000 - 600 = 400
desiredJobs       = newItems - pendingJobs          = 700 - 600  = 100
jobsToSchedule    = min(100, 400)                               = 100

100 tâches supplémentaires sont planifiées. Cependant, étant donné que les 200 tâches en cours d'exécution n'ont pas encore retiré leurs éléments du statut Nouveau (il faut 30 secondes), Orchestrator traite 700 Nouveau éléments comme non couverts lorsque seulement environ 500 types ont réellement besoin de nouvelles tâches. Il en résulte environ 100 tâches surplanifiées.

Remarque :

Orchestrator ne suit pas la relation entre les tâches individuelles et les éléments de file d’attente individuels, de sorte qu’il ne peut pas détecter le sur-planification par lui-même. L'identification des dépasses de planification nécessite un suivi externe de l'état.

L'étape 6 : avec l'option Activer les tâches en attente désactivée, la même situation produit :

remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs = 1000 - 600 - 200 = 200
desiredJobs       = newItems - pendingJobs - runningJobs           = 700 - 600 - 200 = -1000
jobsToSchedule    = min(0, 200)                                                      = 0
remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs = 1000 - 600 - 200 = 200
desiredJobs       = newItems - pendingJobs - runningJobs           = 700 - 600 - 200 = -100 → 0
jobsToSchedule    = min(0, 200)                                                      = 0

Aucune tâche supplémentaire n’est planifiée, ce qui se rapproche dans ce scénario.

Partie 2 : Sous-planification avec la stratégie Activer les tâches en attente désactivée

Étape 1 : dans ce scénario, les tâches ne se terminent pas simultanément. Sur les 200 tâches initiales, 100 tâches sont terminées après 60 secondes et les 100 autres sont terminées après 90 secondes.

Étape 2 : les 100 premières tâches se terminent, déclenchant 100 tâches supplémentaires.

Tâches (Jobs)Nombre
En cours d'exécution200
En attente700
Éléments de file d'attenteÉtat (Status)
100Réussi
200En cours
700Nouveau

Étape 3 : étant donné que la tâche est terminée, la réévaluation est activée, le déclencheur s’exécute à nouveau en quelques secondes.

Étape 4 : avec la stratégie Activer les tâches en attente activée :

remainingCapacity = maxConcurrentJobs - pendingJobs          = 1000 - 700 = 300
desiredJobs       = newItems - pendingJobs                   = 700 - 700  = 0
jobsToSchedule    = min(0, 300)                                           = 0
remainingCapacity = maxConcurrentJobs - pendingJobs          = 1000 - 700 = 300
desiredJobs       = newItems - pendingJobs                   = 700 - 700  = 0
jobsToSchedule    = min(0, 300)                                           = 0

Aucune exécution supplémentaire n'est planifiée. C'est correct : il y a 700 tâches en attente pour 700 nouveaux éléments.

Étape 5 : avec la stratégie Activer les tâches en attente désactivée :

remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs = 1000 - 700 - 200 = 100
desiredJobs       = newItems - pendingJobs - runningJobs           = 700 - 700 - 200 = -2000
jobsToSchedule    = min(0, 100)                                                       = 0
remainingCapacity = maxConcurrentJobs - pendingJobs - runningJobs = 1000 - 700 - 200 = 100
desiredJobs       = newItems - pendingJobs - runningJobs           = 700 - 700 - 200 = -200 → 0
jobsToSchedule    = min(0, 100)                                                       = 0

Aucune tâche supplémentaire n’est planifiée ici. Cependant, s'il y avait moins de tâches en attente, la formule serait sous-planifiée : elle suppose que les 200 tâches en cours d'exécution n'ont pas encore réclamé leurs éléments à partir du statut Nouveau , même si 100 d'entre elles l'ont déjà.

Étape 6 : Les tâches non planifiées en raison d'une planification insuffisante sont simplement récupérées lorsque la vérification des éléments de la file d'attente non traités s'exécute selon sa planification périodique. Il s'agit du but de cette vérification.

Résumé

ParamètreHypothèses sur les exécutions en coursConséquence
Activé (vrai)ont déjà revendique leurs éléments de file d'attentePeut sur-planifier
Désactivé (false)N'ont pas encore réclamé leurs éléments de file d'attenteSous-planification du mois de mai

Cible d'exécution (Execution Target)

Vous pouvez configurer plusieurs règles en fonction des processus associés exécutés.

Description

 

Compte (Account)

Le processus est exécuté sous un compte spécifique. Si vous spécifiez uniquement le compte, Orchestrator affectera dynamiquement la machine. Le fait de spécifier à la fois le compte et le modèle de machine signifie que la tâche se lance sur cette paire compte-machine spécifique.

Machine

Le processus est exécuté sur l'une des machines hôtes associées au modèle de machine sélectionné. Si vous spécifiez uniquement le modèle de machine, Orchestrator affectera dynamiquement le compte. Le fait de spécifier à la fois le compte et le modèle de machine signifie que la tâche se lance sur cette paire compte-machine spécifique.

Remarque : assurez-vous que les licences de runtime requises pour exécuter la tâche sont affectées au modèle de machine associé.

Nom de l'hôte

Nom de l'hôte

Après avoir sélectionné un modèle de machine, l'option Nom d'hôte (Hostname) s'affiche, vous permettant de sélectionner la session de poste de travail/Robot souhaitée pour exécuter le processus.

Toutes les sessions disponibles dans le dossier actif sont affichées, qu'elles soient non connectées, déconnectées ou connectées.

Remarque : assurez-vous que les licences de runtime requises pour exécuter la tâche sont affectées au modèle de machine associé.

Déclencheurs de file d'attente créés à l'aide d'UiPath Activities

Les déclencheurs de file d'attente peuvent également être créés par les développeurs RPA au moment de la conception dans Studio, à l'aide de l'activité Lorsqu'un nouvel élément est ajouté à la file d'attente (When New Item Added to Queue) du package UiPath.Core.Activities.

Orchestrator identifie ces types de déclencheurs comme des exigences de package, et la seule façon de les ajouter dans Orchestrator est à partir de la page Exigences du package (Package Requirements).

Toute configuration définie au moment de la conception se reflète dans Orchestrator et ne peut pas être modifiée.

Par exemple : lorsqu'un élément de file d'attente est ajouté à ma file d'attente, je souhaite recevoir ses métadonnées sous forme de message de journal. La différence ici est que le déclencheur de temps indique à l'automatisation de démarrer depuis l'intérieur du workflow, contrairement aux déclencheurs de temps Orchestrator, qui indiquent à l'automatisation de démarrer depuis l'extérieur du workflow.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour