Depure e gerencie orquestrações usando o painel do Durable Task Scheduler

O painel Agendador de Tarefas Duráveis permite observar orquestrações em execução, inspecionar o histórico de execução e entradas/saídas de atividade e gerenciar o ciclo de vida de orquestração (pausar, retomar, terminar), tudo em um navegador.

O painel está disponível em dois ambientes:

Ambiente URL Autenticação
Emulador local http://localhost:8082 Nenhum necessário
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Requer a função Colaborador de Dados de Tarefa Durável

Para obter mais informações sobre o emulador, consulte Emulador para desenvolvimento local.

Neste artigo, você aprenderá como:

  • Acesse o painel localmente ou em Azure.
  • Atribua a função Colaborador de Dados de Tarefa Durável à identidade de desenvolvedor.
  • Monitore o status da orquestração, filtre instâncias e inspecione o histórico de execução.
  • Gerencie as orquestrações (pausar, retomar, encerrar, gerar eventos).

Pré-requisitos

Antes de começar:

Acessar o painel localmente

Se você estiver usando o emulador do Agendador de Tarefas Duráveis, o painel estará disponível em:

http://localhost:8082

Nenhuma autenticação ou atribuição de função é necessária para o desenvolvimento local.

Atribuir funções de acesso ao painel (Azure)

Para acessar o painel de um agendador hospedado no Azure, atribua a função Colaborador de Dados de Tarefas Duráveis à identidade do desenvolvedor (email).

  1. Defina o destinatário como sua identidade de desenvolvedor.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Defina o escopo. Conceder acesso no escopo do agendador dá acesso a todos os hubs de tarefas dentro desse agendador.

    Hub de Tarefas

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

    Agendador

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Conceda acesso. Execute o comando a seguir para criar a atribuição de função e conceder acesso.

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

    Saída esperada

    O exemplo de saída a seguir mostra uma identidade de desenvolvedor atribuída à função de Colaborador de Dados de Tarefas Duráveis no nível do agendador.

    {
      "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. Depois de conceder acesso, abra o painel em:

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

    Substitua <SCHEDULER_ENDPOINT> pelo ponto de extremidade do agendador (por exemplo) https://myscheduler.westus2.durabletask.ioe <TASK_HUB_NAME> pelo nome do hub de tarefas.

    De forma alternativa, navegue até https://dashboard.durabletask.io/ e insira o ponto de extremidade do agendador e o nome do hub de tarefas no formulário de conexão.

Observação

A instrução a seguir mostra uma atribuição de função com escopo para um hub de tarefas específico. Se você precisar de acesso a todos os hubs de tarefas em um agendador, execute a atribuição no nível do agendador.

  1. Navegue até o recurso Agendador de Tarefas Duráveis no portal.

  2. Clique em um nome de hub de tarefas.

  3. No menu à esquerda, selecione Controle de acesso (IAM) .

  4. Clique em Adicionar para adicionar uma atribuição de função.

    Captura de tela da adição da atribuição de função no painel Controle de Acesso no portal.

  5. Pesquise e selecione Colaborador de Dados da Tarefa Durável. Clique em Próximo.

    Captura de tela da seleção da atribuição de função Colaborador de Dados da Tarefa Durável no portal.

  6. Na guia Membros, para Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço.

  7. Para Membros, clique em + Selecionar membros.

  8. No painel Selecionar membros, pesquise seu nome ou email:

    Captura de tela da seleção do tipo de identidade gerenciada atribuído pelo usuário no portal.

  9. Escolha seu email e clique no botão Selecionar.

  10. Clique em Examinar + atribuir para concluir a atribuição da função.

  11. Depois que a função for atribuída, clique em Visão geral no menu esquerdo do recurso do hub de tarefas e navegue até a URL do painel localizada na seção superior do Essentials.

Monitore sua central de tarefas pelo painel

O painel permite que você monitore o progresso da orquestração e examine o histórico de execução. Na página inicial do painel, você pode encontrar orquestrações, entidades, agendas, workers e métricas do hub de tarefas, além dos agentes de IA (atualmente em versão preliminar).

Painel de visão geral de orquestrações

Exiba orquestrações clicando no nome do hub de tarefas ou em Orchestrations no menu lateral.

Captura de tela da home page do painel com links para hubs de tarefas, histórico de orquestração, entidades, agendas, trabalhos, métricas e agentes de IA.

No painel de visão geral de Orquestrações, você pode:

  • Examine uma lista de instâncias de orquestração.
  • Restrinja as orquestrações por meio da barra de pesquisa ou filtros.
  • Crie uma nova orquestração.
  • Copie um link compartilhável para o painel.
  • Configure os intervalos de atualização automática da lista de orquestrações.

Captura de tela do painel listando orquestrações.

As informações de orquestração são apresentadas com as seguintes colunas padrão.

Categoria Description
ID da Instância Pesquise uma instância de orquestração específica por sua ID exclusiva.
Nome Filtrar pelo nome do tipo de orquestração.
Status Filtrar por status de runtime (Executando, Concluído, Com Falha, Encerrado, Pendente, Suspenso).
Tags Filtrar por tags aplicadas à instância de orquestração.
Criado Data e hora em que a orquestração foi criada.

Você pode filtrar a lista de orquestração usando os critérios a seguir.

Captura de tela do painel listando o histórico e o status da orquestração com opções de filtro.

Categoria Description
Nome da orquestração Filtrar pelo nome do tipo de orquestração.
Status de execução Filtrar por status de runtime (Executando, Concluído, Com Falha, Encerrado, Pendente, Suspenso).
Filtro de tag Procure orquestrações por chave de marca ou valor.
Criado a partir de/Criado para Restringir resultados a uma janela de tempo.

Dispare uma atualização da lista de orquestração:

  • Clicando no ícone de atualização para uma atualização manual.

  • Ative/desative Auto e selecione o intervalo para atualizar automaticamente a lista.

    Captura de tela do botão de alternância da atualização automática e do ícone de atualização manual.

Criar uma nova orquestração

Você pode criar uma nova orquestração no painel do Agendador de Tarefas Duráveis.

  1. No painel de visão geral de Orquestrações, clique em + Nova Orquestração.

  2. Preencha as informações no formulário Nova Orquestração .

    Captura de tela do formulário Criar nova orquestração.

    Campo Description
    Nome da orquestração Selecione uma orquestração na lista suspensa ou digite um nome de orquestração personalizado.
    ID da Instância Opcional. As IDs da instância são geradas automaticamente. Se você criar um por conta própria ou permitir que ele gere automaticamente, as IDs de instância estão no formato ASCII.
    Versão Opcional. Insira o número de versão aplicável.
    Entrada Opcional. Insira a entrada no formato JSON.
    Início agendado Opcional. Selecione a data e a hora de início da orquestração.
    Tags Opcional. Insira tags de chaves e/ou valores associadas à orquestração.
  3. Clique em Criar.

    Você pode ver sua nova orquestração na lista.

Detalhes da orquestração

Clique em uma instância de orquestração para diagnosticar problemas ou obter visibilidade do status de uma orquestração.

Use as abas Linha do Tempo, Histórico e Fluxo para ver os detalhes da execução e o progresso da atividade. A guia Linha do Tempo está aberta por padrão.

  • A guia Linha do Tempo mostra os intervalos de uma orquestração em execução.

    Captura de tela da linha do tempo de execução da orquestração.

    Selecione uma atividade para exibir sua entrada e saída.

    Captura de tela do painel em que você pode exibir a entrada, a saída e o status de uma atividade.

  • A guia Histórico oferece um feed de todos os eventos em uma orquestração, completo com carimbos de data/hora.

    Captura de tela do painel mostrando o histórico de eventos de uma orquestração individual.

  • A aba Flow mostra visualmente o fluxo de execução da orquestração.

    Captura de tela do fluxo de eventos de uma orquestração individual.

    Você também pode exibir a entrada e a saída de uma atividade clicando em Exibir.

    Captura de tela do painel em que você pode exibir a entrada, a saída e o status de uma atividade por meio do modo de exibição de fluxo.

Gerenciar orquestrações

Você pode gerenciar seu ciclo de vida de orquestração por meio do painel. No painel Orquestrações , selecione uma ID de instância para acessar as seguintes ações:

Captura de tela do painel mostrando os botões Limpar, Reiniciar, Encerrar, Suspender e Retomar para gerenciar orquestrações.

  • Retomar: continue uma orquestração suspensa anteriormente.
  • Suspender: Pausar uma orquestração em execução. Ele permanece na memória, mas interrompe o processamento de eventos até ser retomado.
  • Reiniciar: Reinicie uma orquestração anteriormente em execução.
  • Encerrar: interrompa imediatamente uma orquestração com uma cadeia de caracteres de motivo opcional.
  • Purga: Limpe a instância de orquestração.

Analise uma orquestração individual para ter acesso à ação Acionar evento. Essa ação envia um evento externo nomeado (com conteúdo JSON opcional) para uma orquestração em execução ou suspensa.

Captura de tela do painel mostrando os botões Limpar, Reiniciar, Encerrar e Acionar Evento para gerenciar orquestrações.

Entidades

Selecione Entidades no menu do lado esquerdo para exibir entidades que você criou.

Captura de tela das entidades que você criou e algumas ferramentas de gerenciamento para elas.

Clique em uma entidade individual da lista para exibir seus detalhes. A partir daqui, você pode examinar:

  • Quando ele foi modificado pela última vez
  • Quando a última operação foi executada
  • Se está bloqueado, e quem o bloqueou
  • Tamanho da lista de pendências
  • O estado da entidade em JSON ou código bruto

Captura de tela de uma entidade individual que está sendo rastreada no painel do Agendador de Tarefas Duráveis.

Você também pode enviar um sinal para a entidade. Clique em Signal no canto superior direito e crie a mensagem de sinal.

Captura de tela da janela para enviar um sinal para sua entidade individual.

Agentes (versão prévia)

Observação

A revisão das sessões do agente por meio do painel do Agendador de Tarefas Duráveis está atualmente em versão prévia.

Selecione Agentes no menu do lado esquerdo para monitorar as sessões do agente disparadas pelo aplicativo no agendador. Clique em uma sessão do agente para exibir os dados de uso do token, como:

  • O número de tokens de prompt usados por você.
  • O número de tokens de finalização que você utilizou.
  • O número total de tokens usados durante a sessão do agente.

Você também pode exibir o histórico e a linha do tempo do chat do agente.

Captura de tela das sessões do agente disparadas pelo aplicativo.

Horários

Selecione Agendas no menu do lado esquerdo para exibir os agendamentos criados. No painel agendamentos, você pode pausar, retomar ou excluir um agendamento. Você também pode clicar em + Criar Agenda para criar um agendamento por meio da interface do usuário do painel.

Captura de tela dos agendamentos que você criou e algumas ferramentas de gerenciamento para eles.

Trabalhos e métricas

Selecione Workers & Metrics no menu à esquerda para exibir:

  • Todas as atividades, orquestradores e entidades pendentes, ativas ou armazenadas.
  • Trabalhadores conectados.

Captura de tela de uma visão geral das filas de itens de trabalho e dos trabalhadores conectados.

Próximas Etapas 

Para o Agendador de Tarefas Duráveis para o Durable Functions:

Para o Agendador de Tarefas Duráveis para os SDKs de Tarefas Duráveis: