Actions des files d’attente de tâches

Les files d’attente de travail dans Power Automate peuvent être utilisées pour stocker des données pertinentes pour les processus et fournir un moyen de découpler les processus complexes et les automatisations, leur permettant de communiquer de manière asynchrone.

Les files d’attente de travail peuvent jouer un rôle crucial dans l’amélioration de l’efficacité, de l’évolutivité et de la résilience des automatisations, et aider à hiérarchiser le travail. Les files d’attente de travail vous permettent de terminer les éléments avec la priorité la plus élevée en premier, qu’ils soient traités par des employés numériques, des employés humains ou via des intégrations.

Note

  • La prise en charge en environnement de production de la première série d’actions associées à la file d’attente de travail nécessite Power Automate desktop version 2.37 ou ultérieure.
  • Les actions de la file d’attente de travail dans Power Automate pour le bureau sont une fonctionnalité Premium qui nécessite un abonnement Power Automate.
  • Actuellement, seules les actions Traiter les éléments de la file d’attente de travail et Mettre à jour l’élément de la file d’attente de travail peuvent être classées et autorisées ou restreintes via les stratégies de protection contre la perte de données (DLP), et d’autres actions seront bientôt disponibles. Notez que l’utilisation basée sur le flux de cloud des files d’attente de travail ne peut pas être restreinte par les stratégies DLP.

Traiter les éléments de la file d’attente de travail

L’action Traiter les éléments de la file d’attente de travail indique à l’orchestrateur de la file d’attente que la machine est prête à traiter un ou plusieurs éléments de la file d’attente de travail. Le contexte utilisateur qui demande un nouvel élément doit avoir des privilèges suffisants sur la file d’attente de travail et la table des éléments de la file d’attente de travail pour traiter les files d’attente de travail.

Capture d’écran de l’action « Traiter l’élément de la file d’attente de travail ».

La file d’attente de travail référencée dans l’action précédente est utilisée par l’orchestrateur de la file d’attente pour déterminer les prochains éléments disponibles dans cette file d’attente qui sont à l’état En file d’attente. À mesure que le flux de bureau parcourt les actions de la boucle de traitement des éléments de la file d’attente de travail que cette action génère, vous pouvez accéder à la valeur en utilisant la variable que vous avez définie pour l’action avec la propriété .Value. Dans ce cas, vous pouvez appeler la valeur de l’élément de la file d’attente de travail en utilisant la variable %WorkQueueItem.Value%

Important

En fournissant une expression FetchXML dans le champ « Filtrer les lignes », vous contournez la logique FIFO de l’orchestrateur de files d’attente de travail par défaut pour les éléments en file d’attente. Cela vous permet de définir un ordre de retrait de file d’attente personnalisé et d’ignorer les dates d’expiration des éléments et d’autres paramètres qui sont automatiquement appliqués lorsqu’aucune expression de filtre n’est fournie.

Processworkqueueitemaction

L’action Élément de la file d’attente de travail de processus nécessite les arguments suivants.

Paramètres d’entrée

Argument Facultatif Accepte Valeur par défaut Description
File d’attente de travail Non Texte L’ID de la file d’attente de travail qui contient les éléments à traiter.
Lignes de filtre Oui Texte Expression de requête FetchXML utilisée pour récupérer les éléments de la file d’attente de travail.
Écraser la configuration de nouvelle tentative automatique de la file d’attente de travail Oui Booléen Faux Lorsque cette option est activée, un champ s’affiche vous permettant de définir ou de remplacer le nombre maximal de nouvelles tentatives pour IT Exceptions.
Nombre maximal de nouvelles tentatives Non Valeur de texte, valeur numérique S’il n’est pas remplacé, il utilise le nombre maximal de nouvelles tentatives par défaut défini dans l’enregistrement de la file d’attente des tâches. Le nombre maximal de nouvelles tentatives pour IT Exceptions. Ce paramètre vous permet d’ajuster le nombre de nouvelles tentatives sur une valeur supérieure ou inférieure, ou même de désactiver le mécanisme de nouvelle tentative en définissant le nombre sur 0.

Variables produites

Argument Type Description
WorkQueueItem Élément de la file d’attente de travail Informations stockées dans l’élément de la file d’attente de travail en cours de traitement

Exceptions

Exception Description
File d’attente de travail introuvable La valeur saisie dans le paramètre de la file d’attente de travail n’est pas valide.
File d’attente de travail interrompue ou arrêtée La file d’attente de travail est soit suspendue, soit arrêtée, ce qui n’est pas un état valide lors du traitement des éléments.
FetchXML non valide Une expression FetchXML non valide a été fournie.
Échec du traitement de la file d’attente de travail Demande incorrecte : erreur dans la syntaxe de la requête.

En quoi consiste les requêtes FetchXML ?

Microsoft Dataverse FetchXML est un langage utilisé pour récupérer des données d’une base de données Dataverse. Il est conçu pour être facile à créer, à utiliser et à comprendre. Par exemple, vous pourriez demander à l’orchestrateur de traiter les éléments dans un ordre autre que le premier entré, premier sorti (FIFO) et dans un délai d’expiration précis.

Pour limiter la prise en charge des requêtes FetchXML au traitement des éléments de la file d’attente de travail, un ensemble limité de termes et d’expressions FetchXML est pris en charge. Ces termes incluent des filtres, des conditions et des expressions de tri, qui sont tous limités à la table des éléments de la file d’attente de travail (workqueueitem). Seuls les éléments à l’état Queued sont renvoyés.

Exemple de requête FetchXML

Voici un exemple d’expression de requête indiquant comment filtrer le name et classer les résultats en fonction des enregistrements expirant en premier (FEFO).

<filter type="and">
  <condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
  <condition attribute="name" operator="eq" value="MyNonUniqueNameString" />
</filter>
<order attribute="expirydate" descending="false" />

Interroger les détails du support et les données de référence

Mettre à jour un élément de la file d’attente de travail

L’action Mettre à jour l’élément de la file d’attente de travail permet aux utilisateurs de modifier le statut et les résultats du traitement de l’élément de la file d’attente de travail sélectionné.

Capture d’écran de l’action Mettre à jour l’élément de la file d’attente de travail.

Updateworkqueueitemaction

L’action Mettre à jour l’élément de la file d’attente de travail nécessite les arguments suivants.

Argument Facultatif Accepte Valeur par défaut Description
Élément de la file d’attente de travail Non Texte Variable de l’élément de la file d’attente de travail précédemment renvoyé par l’orchestrateur de file d’attente
Statut Non Traité, exception générique Traité Mettez à jour l’élément de la file d’attente de travail en cours de traitement en utilisant un statut dans la liste d’options.
Notes de traitement Oui Texte Notes de traitement personnalisées ou valeur à ajouter à l’élément de la file d’attente en cours de traitement.
Effacer les notes de traitement Oui Booléen Faux Lorsque cette option est activée, masque et efface le champ de notes de traitement sur cet écran et supprime toutes les notes de traitement de la base de données qui ont été précédemment capturées pour cet élément.

Exceptions

Argument Description
Élément de la file d’attente de travail introuvable L’élément de la file d’attente de travail en cours de traitement a été supprimé ou n’appartient plus à la file d’attente à partir de laquelle il a été appelé.
Élément de file d’attente de travail mis en attente L’élément de la file d’attente de travail en cours de traitement contient un statut on hold dans l’orchestrateur de la file d’attente et ne peut plus être mis à jour.
Échec de la mise à jour de l’élément de la file d’attente de travail L’élément de la file d’attente de travail en cours de mise à jour a rencontré une erreur inattendue. Pour plus d’informations, consultez le message d’erreur.

Ajouter un élément de file d’attente de travail

L’option Ajouter un élément de la file d’attente de travail permet aux utilisateurs d’introduire des éléments de la file d’attente de travail dans une file d’attente de travail, qui a été configurée dans le portail de flux.

Capture d’écran de l’action Ajouter un élément de la file d’attente de travail.

Enqueueworkqueueitemaction

L’action Ajouter un élément de la file d’attente de travail nécessite les arguments suivants.

Paramètres d’entrée

Argument Facultatif Accepte Valeur par défaut Description
File d’attente de travail Non Valeur textuelle L’élément de la file d’attente de travail dans lequel ajouter l’élément
Priorité Non Élevé, Normal, Faible Normale La priorité sur laquelle définir l’élément de la file d’attente de travail
Nom Non Valeur de texte, valeur numérique Nom ou ID personnalisé du nouvel élément de la file d’attente de travail
Input Non Valeur de texte, valeur numérique Les données qui appartiennent à la colonne de valeur à traiter
Expire Oui Date et heure La valeur datetime définie pour faire expirer l’élément de la file d’attente ; sinon, adopte la valeur par défaut si elle est définie pour la file d’attente
Notes de traitement Oui Valeur de texte, valeur numérique Notes de traitement personnalisées à ajouter au nouvel élément de la file d’attente
A un ID ou une référence unique Oui Valeur de texte, valeur numérique Lorsque cette option est activée, une valeur doit être fournie qui est unique au sein de cette file d’attente. Si elle est laissée vide, une valeur unique au format system-<GUID> est automatiquement fournie par le système

Variables produites

Argument Type Description
WorkQueueItem Élément de la file d’attente de travail Informations stockées pour l’élément de la file d’attente de travail en cours d’ajout

Exceptions

Argument Description
File d’attente de travail introuvable La valeur saisie dans le paramètre de la file d’attente de travail n’est pas valide
Échec de l’ajout de l’élément dans la file d’attente de travail L’élément de la file d’attente de travail n’a pas pu être ajouté à la file d’attente de travail. Demande incorrecte : erreur dans la syntaxe de la requête

Ajouter plusieurs éléments de la file d’attente de travail

L’action Ajouter plusieurs éléments de file d’attente de travail permet aux utilisateurs d’ajouter un ou plusieurs éléments de file d’attente de travail à une file d’attente de travail en fonction des données fournies dans la table de données des éléments de file d’attente de travail.

Capture d’écran de l’action Ajouter plusieurs éléments de file d’attente.

Cette action nécessite une table de données personnalisée contenant un ou plusieurs éléments de la file d’attente de travail. La table de données doit comporter huit colonnes et être conforme au schéma suivant :

Nom de la colonne Description Obligatoire Valeurs autorisées
Nom Le nom de l’article. Non Toute chaîne alphanumérique
Entrée Indique les détails ou les données de l’élément. Oui Toute chaîne alphanumérique
Expire dans Spécifie la durée jusqu’à l’expiration de l’élément. Non Valeur de date et d’heure
Notes de traitement Notes de traitement relatives à l’élément. Non Toute chaîne alphanumérique
Priorité Niveau de priorité de l’élément. Oui Valeur numérique de 100 (élevé), 200 (normal), 300 (faible)
Référence unique Identificateur unique ou valeur de référence pour l’élément. Non Toute chaîne ou référence alphanumérique unique
Statut Statut de l’élément lors de l’ingestion. Oui La valeur numérique est soit zéro (en file d’attente), soit un (en attente).
Différer jusqu’à Spécifie une date et une heure jusqu’à laquelle les éléments de la file d’attente de travail doivent être ignorés lors du traitement. Non Valeur de date et d’heure

Extrait de code Robin pour la création de la table de données

L’exemple suivant est un extrait de code Robin (utilisé dans les flux traditionnels) que vous pouvez copier-coller directement dans la fenêtre du concepteur de Power Automate pour le bureau. Cet extrait de code ajoute une action Créer une nouvelle table de données avec l’ensemble prévu de champs à votre flux.

Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } DataTable=> DataTable

Extrait de code PowerFx pour la création de la table de données

L’exemple suivant est un extrait de code PowerFx que vous pouvez copier et coller directement dans la fenêtre du concepteur Power Automate bureau. Cet extrait de code ajoute une action Créer une nouvelle table de données avec l’ensemble prévu de champs à votre flux.

Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx''] } DataTable=> DataTable

Batchenqueueworkqueueitemsaction

L’action Ajouter plusieurs éléments de file d’attente de travail nécessite les arguments suivants.

Paramètres d’entrée

Argument Facultatif Accepte Valeur par défaut Description
File d’attente de travail Non Valeur textuelle L’élément de la file d’attente de travail dans lequel ajouter l’élément
Données de l’élément de la file d’attente de travail Oui Table de données Table de données personnalisée contenant les éléments à ajouter à la file d’attente de travail

Variables produites

Argument Type Valeur par défaut Description
FailedWorkQueueItems Non Activé S’il y a des échecs, cet objet contient l’index de l’élément qui n’a pas pu être inséré avec un code d’erreur. L’index renvoyé est la position (index) de l’élément dans la table de données de la file d’attente de travail fournie de l’action Ajouter plusieurs éléments à la file d’attente de travail.
HasFailedItems Non Activé Indicateur indiquant si des erreurs d’ingestion se sont produites lors des actions en raison de problèmes liés aux données des éléments de la file d’attente de travail.
Éléments de la file d’attente de travail réussis Désactivé Non Objet personnalisé contenant l’index et les éléments de la file de travail qui y ont été ajoutés avec succès.

Exceptions

Argument Description
File d’attente de travail introuvable La valeur saisie dans le paramètre de la file d’attente de travail n’est pas valide
File d’attente de travail interrompue ou arrêtée L’élément de file d’attente de travail n’a pas pu être ajouté à la file d’attente de travail, car la file d’attente de travail est soit suspendue, soit arrêtée.
Échec de l’empilement par lots d’une liste d’éléments de la file d’attente de travail Les éléments de la file d’attente de travail n’ont pas pu être ajoutés à la file d’attente de travail en raison d’une demande ou d’une erreur de communication.

Remettre l’élément dans la file d’attente avec délai

L’action Remettre un élément en file d’attente avec délai permet aux utilisateurs de réajouter dans sa file d’attente d’origine un élément de file d’attente en cours de traitement dans le flux de bureau. De plus, l’élément en file d’attente peut être conservé et libéré jusqu’à une heure définie.

Capture d’écran de l’action de remise en file d’attente de l’élément de la file d’attente de travail.

Requeueworkqueueitemaction

L’action Remettre l’élément en file d’attente avec un délai nécessite les arguments suivants.

Paramètres d’entrée

Argument Facultatif Accepte Valeur par défaut Description
Élément de la file d’attente de travail Non Élément de la file d’attente de travail L’élément de la file d’attente de travail dans lequel ajouter l’élément
Différer jusqu’à Non Valeur de date et d'heure La valeur de date et d’heure appliquée pour retarder l’élément de la file d’attente jusqu’à
Expire Oui Valeur de date et d’heure Délai d’expiration personnalisé pour l’élément remis en file d’attente
Notes de traitement Oui Valeur de texte, valeur numérique Notes de traitement personnalisées à ajouter au nouvel élément de la file d’attente
Effacer les notes de traitement Oui Booléen Faux Lorsque cette option est activée, masque et efface le champ de notes de traitement sur cet écran et supprime toutes les notes de traitement de la base de données qui ont été précédemment capturées pour cet élément

Exceptions

Argument Description
File d’attente de travail introuvable La valeur saisie dans le paramètre de la file d’attente de travail n’est pas valide
Élément de la file d’attente de travail introuvable La valeur de l’élément de la file d’attente n’est pas valide
Échec de la remise en file d’attente de l’élément de la file d’attente de travail L’élément de la file d’attente de travail n’a pas pu être ajouté à la file d’attente de travail. Demande incorrecte : erreur dans la syntaxe de la requête

Mettre à jour les notes de traitement de l’élément de file d’attente de travail

L’action Mettre à jour les notes de traitement de l’élément de file d’attente de travail permet aux utilisateurs de mettre à jour ou d’effacer les notes de traitement de l’élément de la file d’attente de travail sélectionné sans modifier son état ou toute autre propriété.

Capture d’écran de l’action Mettre à jour les notes de traitement de l’élément de la file de travail.

updateprocessingnotesaction

L’action Mettre à jour les notes de traitement de l’élément de la file d’attente de travail nécessite les arguments suivants.

Argument Facultatif Accepte Valeur par défaut Description
Élément de la file d’attente de travail Non Texte Variable d’élément de file d’attente de travail précédemment renvoyé par l’orchestrateur de file d’attente
Notes de traitement Oui Texte Résultat du traitement personnalisé ou valeur à ajouter à l’élément de la file d’attente traité
Effacer les notes de traitement Oui Booléen Faux Lorsque cette option est activée, masque et efface le champ de notes de traitement sur cet écran et supprime toutes les notes de traitement de la base de données qui ont été précédemment capturées pour cet élément

Exceptions

Argument Description
File d’attente de travail introuvable La file d’attente de travail associée à l’élément a été supprimée ou n’est plus accessible
Élément de la file d’attente de travail introuvable L’élément de la file d’attente de travail n’est pas valide
Impossible d’ajouter les résultats de traitement L’élément de la file d’attente de travail en cours de mise à jour a rencontré une erreur inattendue. Pour plus d’informations, consultez le message d’erreur.

Récupérer des éléments de la file de travail à l’aide d’un filtre

L’action Obtenir les éléments de la file d’attente de travail par filtre permet aux utilisateurs de récupérer un ou plusieurs éléments de la file d’attente de travail en fonction d’une expression de filtre FetchXML.

Capture d’écran montrant l’action Obtenir les éléments de la file d’attente de travail par filtre.

Getworkqueueitemsaction

L’action Obtenir les éléments de la file d’attente de travail par filtre nécessite les arguments suivants.

Paramètres d’entrée

Argument Facultatif Accepte Valeur par défaut Description
File d’attente de travail Non Texte File d’attente de travail à partir de laquelle récupérer les éléments
Lignes de filtre Non Texte Expression de requête FetchXML utilisée pour récupérer les éléments de la file d’attente de travail
Lignes à renvoyer Non Nombre 5 000 Nombre maximal d’éléments de la file d’attente de travail renvoyés par l’orchestrateur

Variables produites

Argument Type Valeur par défaut Description
WorkQueueItems Non Activé Liste des éléments de la file d’attente de travail correspondant à l’expression de filtre.

En quoi consiste les requêtes FetchXML ?

Microsoft Dataverse FetchXML est un langage utilisé pour récupérer des données d’une base de données Dataverse. Il est conçu pour être facile à créer, à utiliser et à comprendre. Par exemple, vous voudrez peut-être demander à Dataverse de renvoyer une liste de tous les éléments de file d’attente de travail qui sont à l’état IT Exception.

Pour limiter la prise en charge des requêtes FetchXml à la récupération des éléments de la file d’attente de travail, nous ne prenons en charge qu’un ensemble limité de termes et d’expressions FetchXML. Ces termes et expressions incluent des attributs, des filtres, des conditions et des expressions de tri, le tout étant limité à la table des éléments de la file d’attente de travail (workqueueitem). Vous devez spécifier explicitement les propriétés à renvoyer à partir de la table des éléments de file d’attente de travail et l’ordre de tri souhaité.

Exemple de requête FetchXML

L’exemple suivant est une expression de requête indiquant comment extraire plusieurs propriétés, exclure les éléments incorrects marqués comme IT Exceptions et ordonner les résultats en fonction des enregistrements expirant en premier (FEFO).

<attribute name="statecode" />
<attribute name="uniqueidbyqueue" />
<attribute name="createdon" />
<attribute name="completedon" />
<attribute name="workqueueitemid" />
<attribute name="executioncontext" />
<attribute name="name" />
<attribute name="expirydate" />
<attribute name="processingresult" />
<attribute name="priority" />
<attribute name="statuscode" />
<attribute name="modifiedon" />
<attribute name="processingstarttime" />
<attribute name="retrycount" />
<attribute name="requeuecount" />
<attribute name="input" />
<attribute name="delayuntil" />
<filter type="and">
    <condition attribute="statecode" operator="eq" value="4" />
    <condition attribute="statuscode" operator="eq" value="5" />
    <condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
</filter>
<order attribute="expirydate" descending="false" />

Interroger les détails du support et les données de référence

Statut (statecode)

Statut Code Description
Mis(e) en file d’attente 0 L’élément est mis en file d’attente
Traitement 1 L’élément est en cours de traitement
Traité 2 L’élément a été traité
OnHold 3 L’élément est en suspens
Erreur 4 L’élément a rencontré une erreur

Raison du statut (statuscode)

Raison du statut Code Description
Mis(e) en file d’attente 0 L’élément est mis en file d’attente
Traitement 1 L’élément est en cours de traitement
Traité 2 L’élément a été traité
En pause 3 L’élément est suspendu ou en attente
GenericException 4 L’élément a rencontré une exception générique
ITException 5 L’élément a rencontré une exception informatique
BusinessException 6 L’élément a rencontré une exception métier
DeadLetter 7 L’élément est en attente
Délai d’expiration du traitement 8 Le traitement de l’élément a expiré