Gérer et déboguer des orchestrations en utilisant le tableau de bord du Planificateur de Tâches Durables

Le tableau de bord Du planificateur de tâches durables vous permet d’observer les orchestrations en cours d’exécution, d’inspecter l’historique d’exécution et les entrées/sorties d’activité et de gérer le cycle de vie de l’orchestration (pause, reprise, arrêt), à partir d’un navigateur.

Le tableau de bord est disponible dans deux environnements :

Environnement URL Authentication
Émulateur local http://localhost:8082 Aucun requis
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Nécessite le rôle Contributeur de données pour tâche Durable

Pour plus d’informations sur l’émulateur, consultez Émulateur pour le développement local.

Dans cet article, vous allez apprendre à :

  • Accédez au tableau de bord localement ou sur Azure.
  • Attribuez le rôle Durable Task Data Contributor à votre identité de développeur.
  • Surveillez l’état de l’orchestration, filtrez les instances et inspectez l’historique d’exécution.
  • Gérer les orchestrations (pause, reprendre, terminer, déclencher des événements).

Prerequisites

Avant de commencer :

Accéder au tableau de bord localement

Si vous utilisez l’émulateur Planificateur de tâches durables, le tableau de bord est disponible à l’adresse suivante :

http://localhost:8082

Aucune authentification ou attribution de rôle n’est nécessaire pour le développement local.

Attribuer des rôles d’accès au tableau de bord (Azure)

Pour accéder au tableau de bord d’un planificateur hébergé par Azure, attribuez le rôle Durable Task Data Contributor à votre identité de développeur (e-mail).

  1. Définissez le destinataire sur votre identité de développeur.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Définissez l’étendue. L’octroi de l’accès sur l’étendue du planificateur donne accès à tous les hubs de tâches dans ce planificateur.

    Hub de tâches

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"
    

    Scheduler

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Accorder l’accès. Exécutez la commande suivante pour créer l’attribution de rôle et accorder l’accès.

    az role assignment create \
      --assignee "$assignee" \
      --role "Durable Task Data Contributor" \
      --scope "$scope"
    

    Sortie attendue

    L’exemple de sortie suivant montre une identité de développeur affectée au rôle Contributeur aux données des tâches durables au niveau du planificateur :

    {
      "condition": null,
      "conditionVersion": null,
      "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "createdOn": "2024-12-20T01:36:45.022356+00:00",
      "delegatedManagedIdentityResourceId": null,
      "description": null,
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID",
      "name": "ROLE_ASSIGNMENT_ID",
      "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "principalName": "YOUR_EMAIL",
      "principalType": "User",
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID",
      "roleDefinitionName": "Durable Task Data Contributor",
      "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME",
      "type": "Microsoft.Authorization/roleAssignments",
      "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "updatedOn": "2024-12-20T01:36:45.022356+00:00"
    }
    
  4. Après avoir accordé l’accès, ouvrez le tableau de bord à l’adresse suivante :

    https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME>
    

    Remplacez <SCHEDULER_ENDPOINT> par le point de terminaison de votre planificateur (par exemple https://myscheduler.westus2.durabletask.io) et <TASK_HUB_NAME> par le nom de votre hub de tâches.

    Vous pouvez aussi accéder à https://dashboard.durabletask.io/ et entrer le point de terminaison de votre planificateur ainsi que le nom du hub de tâches dans le formulaire.

Note

L’instruction suivante montre une attribution de rôle délimitée à un hub de tâches spécifique. Si vous avez besoin d’accéder à tous les hubs de tâches dans un planificateur, effectuez l’affectation au niveau du planificateur.

  1. Accédez à la ressource Planificateur de tâches durables sur le portail.

  2. Cliquez sur un nom de hub de tâches.

  3. Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .

  4. Cliquez sur Ajouter pour ajouter une attribution de rôle.

    Capture d’écran de l’ajout de l’attribution de rôle dans le volet Contrôle d’accès dans le portail.

  5. Recherchez et sélectionnez Contributeur de données de tâche durable. Cliquez sur Suivant.

    Capture d’écran de la sélection du rôle de Contributeur de données pour les tâches durables dans le portail.

  6. Sous l’onglet Membres, pour Affecter l’accès à, sélectionnez Utilisateur, groupe ou principal du service.

  7. Pour les membres, cliquez sur + Sélectionner des membres.

  8. Dans le volet Sélectionner des membres , recherchez votre nom ou votre adresse e-mail :

    Capture d’écran de la sélection du type d’identité managée affectée par l’utilisateur dans le portail.

  9. Sélectionnez votre e-mail, puis cliquez sur le bouton Sélectionner .

  10. Cliquez sur Vérifier + affecter pour terminer l’attribution du rôle.

  11. Une fois le rôle attribué, cliquez sur Vue d’ensemble dans le menu de gauche de la ressource du hub de tâches, puis accédez à l’URL du tableau de bord située dans la section Éléments essentiels en haut.

Surveiller votre hub de tâches via le tableau de bord

Le tableau de bord vous permet de surveiller la progression de l’orchestration et de passer en revue l’historique d’exécution. Dans la page d’accueil du tableau de bord, vous trouverez les orchestrations, les entités, les planifications, les workers et les métriques de votre hub de tâches et les agents IA (actuellement en préversion).

Volet Vue d’ensemble des orchestrations

Affichez les orchestrations en cliquant sur le nom du hub de tâches ou les orchestrations dans le menu latéral.

Capture d’écran de la page d’accueil du tableau de bord avec des liens vers des hubs de tâches, un historique d’orchestration, des entités, des planifications, des workers, des métriques et des agents IA.

Dans le volet Vue d’ensemble des orchestrations , vous pouvez :

  • Passez en revue la liste des instances d’orchestration.
  • Affinez les orchestrations via la barre de recherche ou les filtres.
  • Créez une nouvelle orchestration.
  • Copiez un lien partageable vers le tableau de bord.
  • Définissez les intervalles d’actualisation automatique de la liste d’orchestration.

Capture d’écran du tableau de bord répertoriant les orchestrations.

Les informations d’orchestration sont présentées avec les colonnes par défaut suivantes.

Category Description
ID de l'instance Recherchez une instance d’orchestration spécifique par son ID unique.
Nom Filtrez par nom de type d’orchestration.
État Filtrez par état d’exécution (En cours d’exécution, Terminé, Échec, Arrêt, En attente, Suspendu).
Tags Filtrez par les balises appliquées à l’instance d’orchestration.
Créé Date et heure de création de l’orchestration.

Vous pouvez filtrer la liste d’orchestration à l’aide des critères suivants.

Capture d’écran du tableau de bord listant l’historique et l’état de l’orchestration avec des options de filtre.

Category Description
Nom de l’orchestration Filtrez par nom de type d’orchestration.
État d’exécution Filtrez par état d’exécution (En cours d’exécution, Terminé, Échec, Arrêt, En attente, Suspendu).
Filtre d’étiquettes Recherchez des orchestrations par clé ou valeur de balise.
Créé à partir de/Créé jusqu’à Limiter les résultats à une période donnée.

Déclenchez une actualisation de la liste d’orchestration par :

  • Cliquez sur l’icône d’actualisation pour une actualisation manuelle.

  • Activez Auto et sélectionnez l’intervalle pour actualiser automatiquement la liste.

    Capture d’écran du bouton bascule autorefresh et de l’icône d’actualisation manuelle.

Créer une orchestration

Vous pouvez créer une nouvelle orchestration depuis le tableau de bord Durable Task Scheduler.

  1. Dans le volet Vue d’ensemble des orchestrations , cliquez sur + Nouvelle orchestration.

  2. Renseignez les informations dans le formulaire Nouvelle orchestration .

    Capture d’écran du formulaire Créer une orchestration.

    Champ Description
    Nom de l’orchestration Sélectionnez une orchestration dans la liste déroulante ou tapez un nom d’orchestration personnalisé.
    ID de l'instance Optionnel. Les ID d’instance sont générés automatiquement. Que vous en créez un vous-même ou laissez-le générer automatiquement, les ID d’instance sont au format ASCII.
    Version Optionnel. Entrez le numéro de version applicable.
    Input Optionnel. Entrez une entrée au format JSON.
    Début planifié Optionnel. Sélectionnez la date et l’heure de début de l’orchestration.
    Tags Optionnel. Entrez des balises clé et/ou valeur associées à l’orchestration.
  3. Cliquez sur Créer.

    Vous pouvez voir votre nouvelle orchestration dans la liste.

Détails de l’orchestration

Cliquez sur une instance d’orchestration pour diagnostiquer les problèmes ou obtenir une visibilité sur l’état d’une orchestration.

Utilisez les onglets Chronologie, Historique et Flux pour afficher ses détails d’exécution et sa progression de l’activité. L’onglet Chronologie est ouvert par défaut.

  • L’onglet Chronologie affiche les intervalles d’une orchestration en cours d’exécution.

    Capture d’écran de la chronologie de l’exécution de l’orchestration.

    Sélectionnez une activité pour afficher son entrée et sa sortie.

    Capture d’écran du volet dans lequel vous pouvez afficher l’entrée, la sortie et l’état d’une activité.

  • L’onglet Historique fournit un flux de tous les événements d’une orchestration, avec des horodatages.

    Capture d’écran du tableau de bord montrant l’historique des événements d’une orchestration individuelle.

  • L’onglet Flux trace visuellement le flux d’exécution de l’orchestration.

    Capture d’écran du flux d’événements d’une orchestration individuelle.

    Vous pouvez également afficher l’entrée et la sortie d’une activité en cliquant sur Afficher.

    Capture d’écran du volet dans lequel vous pouvez afficher l’entrée, la sortie et l’état d’une activité via la vue flux.

Gérer les orchestrations

Vous pouvez gérer votre cycle de vie d’orchestration via le tableau de bord. Dans le volet Orchestrations , sélectionnez un ID d’instance pour accéder aux actions suivantes :

Capture d’écran du tableau de bord montrant les boutons Purge, Restart, Terminate, Suspend et Resume pour la gestion des orchestrations.

  • Reprendre: Poursuivre une orchestration précédemment suspendue.
  • Suspendre: Suspendre une orchestration en cours d’exécution. Il reste en mémoire, mais arrête le traitement des événements jusqu’à ce qu’il soit repris.
  • Redémarrer: Redémarrez une orchestration précédemment en cours d’exécution.
  • Terminer : Arrêtez immédiatement une orchestration avec une chaîne de caractères facultative indiquant le motif.
  • Purge: Purgez l’instance d’orchestration.

Explorez une orchestration individuelle pour accéder à l’action Déclencher un événement . Cette action envoie un événement externe nommé (avec charge utile JSON facultative) à une orchestration en cours d’exécution ou suspendue.

Capture d’écran du tableau de bord montrant les boutons Purge, Restart, Terminate et Raise Event pour la gestion des orchestrations.

Entités

Sélectionnez Entités dans le menu de gauche pour afficher les entités que vous avez créées.

Capture d’écran des entités que vous avez créées et certains outils de gestion pour eux.

Cliquez sur une entité individuelle dans la liste pour afficher ses détails. À partir de là, vous pouvez consulter :

  • Lors de la dernière modification
  • Quand la dernière opération a eu lieu
  • S’il est verrouillé et qui l’a verrouillé
  • La taille de son arriéré
  • État de l’entité dans le code JSON ou brut

Capture d’écran d’une entité individuelle suivie dans le tableau de bord du planificateur de tâches durables.

Vous pouvez également envoyer un signal à l’entité. Cliquez sur Signal dans le coin supérieur droit et créez le message de signal.

Capture d’écran de la fenêtre pour envoyer un signal à votre entité individuelle.

Agents (préversion)

Note

La consultation des sessions d’agent dans le tableau de bord de Durable Task Scheduler est actuellement disponible en préversion.

Sélectionnez Agents dans le menu de gauche pour surveiller les sessions d’agent déclenchées par votre application dans le planificateur. Cliquez dans une session d’agent pour afficher vos données d’utilisation des jetons, telles que :

  • Nombre de jetons d’invite que vous avez utilisés.
  • Nombre de jetons d’achèvement que vous avez utilisés.
  • Nombre total de jetons utilisés pendant la session de l’agent.

Vous pouvez également afficher l’historique et la chronologie des conversations de l’agent.

Capture d’écran des sessions d’agent déclenchées par votre application.

Horaires

Sélectionnez Planifications dans le menu de gauche pour afficher les planifications que vous avez créées. Dans le volet Planifications, vous pouvez suspendre, reprendre ou supprimer une planification. Vous pouvez également cliquer sur + Créer une planification pour créer une planification via l’interface utilisateur du tableau de bord.

Capture d’écran des planifications que vous avez créées et certains outils de gestion pour eux.

Workers & métriques

Sélectionnez Workers &Metrics dans le menu de gauche pour afficher :

  • Toutes vos activités en attente, actives ou stockées, orchestrateurs et entités.
  • Travailleurs connectés.

Capture d’écran d’un aperçu des files d’attente d’éléments de travail et des processus de travail connectés.

Étapes suivantes

Pour le planificateur de tâches durables de Durable Functions :

Pour le planificateur de tâches durables pour les Kits de développement logiciel (SDK) de tâches durables :