- Démarrage
- Meilleures pratiques
- Locataire
- À propos du contexte du locataire
- Recherche de ressources dans un locataire
- Gestion des Robots
- Connexion des Robots à Orchestrator
- Enregistrement des identifiants du Robot dans CyberArk
- Stockage des mots de passe de l’Unattended Robot dans Azure Key Vault (lecture seule)
- Stockage des informations d’identification de l’Unattended Robot dans HashiCorp Vault (lecture seule)
- Stockage des informations d'identification du robot Unattended dans AWS Secrets Manager (lecture seule)
- Suppression des sessions Unattended déconnectées et qui ne répondent pas
- Authentification du Robot
- Authentification du Robot avec les informations d'identification du client
- Configurer les capacités d’automatisation
- Solutions
- Audit
- Paramètres
- Registre
- Cloud Robots
- Présentation des robots cloud
- Exécution d'automatisations Unattended à l'aide de Cloud Robots - VM
- Téléchargement de votre propre image
- Réutilisation des images de machines personnalisées (pour les pools manuels)
- Réinitialisation des informations d'identification d'une machine (pour les pools manuels)
- Surveillance
- Mises à jour de sécurité
- Demander un essai
- Questions fréquemment posées
- Configuration du VPN pour les robots du cloud
- Configurer une connexion ExpressRoute
- Diffusion en direct et contrôle à distance
- Robots Automation Suite
- Contexte des dossiers
- Processus (Processes)
- Tâches (Jobs)
- Apps
- Déclencheurs (Triggers)
- Déclencheurs de temps
- Déclencheurs de file d'attente
- Déclencheurs d'évènement
- Gestion des jours non ouvrables
- Journaux (Logs)
- Surveillance
- Index
- Files d'attente (Queues)
- Actifs
- À propos des actifs
- Gestion des actifs dans Orchestrator
- Gestion des actifs dans Studio
- Stockage des ressources dans Azure Key Vault (lecture seule)
- Stockage des ressources dans HashiCorp Vault (lecture seule)
- Stockage des ressources dans AWS Secrets Manager (lecture seule)
- Stocker des ressources dans Google Secret Manager (lecture seule)
- Connexions
- Règles métier
- Compartiments de stockage
- Serveurs MCP
- Tests d'Orchestrator
- Service de catalogue de ressources
- Intégrations
- Résolution des problèmes
Guide de l'utilisateur d'Orchestrator
- 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.
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écution | La 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ément | Nombre 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éments | Une 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 possible | Si 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
| Variable | Description |
|---|---|
newItems | Nombre de nouveaux éléments de file d'attente disponibles dans la file d'attente. |
minItemsToTrigger | Nombre 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. |
maxConcurrentJobs | Nombre maximal de tâches en attente et en cours autorisées simultanément. Il s'agit du plafond sur les tâches parallèles. |
itemsPerJob | Nombre 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. |
pendingJobs | Nombre de tâches actuellement à l’état En attente. |
runningJobs | Nombre de tâches à l’état Reprise, En cours d’exécution, En cours d’arrêt ou En fin d’exécution. |
enablePendingJobsStrategy | Paramè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 =
maxConcurrentJobsmoinspendingJobs. 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 =
maxConcurrentJobsmoinspendingJobsmoinsrunningJobs. 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:
10nouveaux éléments
Après le démarrage de la tâche qui ajoute des éléments à la file d'attente :
- Après 11 secondes (33 éléments), la première tâche de traitement d'élément se déclenche.
- Après 4 autres secondes (12 éléments), la deuxième tâche de traitement d'élément se déclenche.
- 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ètre | Valeur (Value) |
|---|---|
| Nombre minimal d'éléments de la file d'attente pour déclencher | 1 |
| Nombre maximal dʹexécutions en attente et en cours | 1 000 |
| Une autre exécution déclenchée pour chaque | 1 nouvel élément |
| Une fois la tâche terminée, réévaluez | Vrai |
| Activer la stratégie des tâches en attente | Vrai (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écution | 200 |
| En attente | 800 |
| Éléments de file d'attente | État (Status) |
|---|---|
| 200 | En cours |
| 900 | Nouveau |
É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écution | 200 |
| En attente | 600 |
| Éléments de file d'attente | État (Status) |
|---|---|
| 200 | Réussi |
| 200 | En cours |
| 700 | Nouveau |
É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.
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 = -100 → 0
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écution | 200 |
| En attente | 700 |
| Éléments de file d'attente | État (Status) |
|---|---|
| 100 | Réussi |
| 200 | En cours |
| 700 | Nouveau |
É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 = -200 → 0
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ètre | Hypothèses sur les exécutions en cours | Conséquence |
|---|---|---|
| Activé (vrai) | ont déjà revendique leurs éléments de file d'attente | Peut sur-planifier |
| Désactivé (false) | N'ont pas encore réclamé leurs éléments de file d'attente | Sous-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.
- Algorithme de traitement du déclencheur de file d'attente
- Formulas
- Exemple
- Activer les exemples de stratégie des tâches en attente
- Partie 1 : Sur-planification avec la stratégie Activer les tâches en attente activée
- Partie 2 : Sous-planification avec la stratégie Activer les tâches en attente désactivée
- Cible d'exécution (Execution Target)
- Déclencheurs de file d'attente créés à l'aide d'UiPath Activities