Depuración y administración de orquestaciones mediante el panel de planificación de Durable Task

El panel programador de durable task le permite observar orquestaciones en ejecución, inspeccionar el historial de ejecución y las entradas y salidas de la actividad y administrar el ciclo de vida de orquestación (pausa, reanudación, finalización), todo desde un explorador.

El panel está disponible en dos entornos:

Medio ambiente URL Autenticación
Emulador local http://localhost:8082 Ninguno requerido
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Requiere el rol de Colaborador de datos de Durable Task

Para obtener más información sobre el emulador, consulte Emulador para el desarrollo local.

En este artículo aprenderá a:

  • Acceda al panel localmente o en Azure.
  • Asigne a su identidad de desarrollador el rol de Colaborador de datos de Durable Task.
  • Supervise el estado de orquestación, filtre las instancias e inspeccione el historial de ejecución.
  • Administrar orquestaciones (pausar, reanudar, detener, activar eventos).

Prerrequisitos

Antes de empezar:

Acceso al panel localmente

Si usa el emulador de Durable Task Scheduler, el panel está disponible en:

http://localhost:8082

No se necesita autenticación ni asignación de roles para el desarrollo local.

Asignar roles de acceso al tablero (Azure)

Para acceder al panel de un programador alojado en Azure, asigne el rol de Durable Task Data Contributor a su identidad de desarrollador (correo electrónico).

  1. Establezca el usuario asignado a la identidad del desarrollador.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Establezca el ámbito. Conceder acceso en el ámbito del programador proporciona acceso a todas las centrales de tareas de ese programador.

    Central de tareas

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

    Planificador

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Conceder acceso. Ejecute el comando siguiente para crear la asignación de roles y conceder acceso.

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

    Salida prevista

    En el ejemplo de salida siguiente, se muestra una identidad de desarrollador asignada con el rol Colaborador de datos de tareas duraderas a nivel del programador:

    {
      "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. Después de conceder acceso, abra el panel en:

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

    Reemplace por <SCHEDULER_ENDPOINT> el punto de conexión del programador (por ejemplo, https://myscheduler.westus2.durabletask.io) y <TASK_HUB_NAME> por el nombre del centro de tareas.

    Como alternativa, vaya a https://dashboard.durabletask.io/ y escriba el punto de conexión del programador y el nombre del centro de tareas en el formulario de conexión.

Nota:

En la siguiente instrucción se muestra una asignación de roles con ámbito de una central de tareas específica. Si necesita acceso a todos los centros de tareas de un programador, realice la asignación en el nivel del programador.

  1. Vaya al recurso Programador de tareas durables en el portal.

  2. Haga clic en un nombre de la central de tareas.

  3. En el menú izquierdo, seleccione Control de acceso (IAM) .

  4. Haga clic en Agregar para agregar una asignación de roles.

    Captura de pantalla de agregar la asignación de roles en el panel de control de acceso del portal.

  5. Busque y seleccione Colaborador de datos de Durable Task. Haga clic en Next.

    Recorte de pantalla de la selección de la asignación de roles Colaborador de datos de Durable Task en el portal.

  6. En la pestaña Miembros, en Asignar acceso a, seleccione Usuario, grupo o entidad de servicio.

  7. En Miembros, haga clic en + Seleccionar miembros.

  8. En el panel Seleccionar miembros, busque el nombre o el correo electrónico:

    Recorte de pantalla de la selección del tipo de identidad administrada asignada por el usuario en el portal.

  9. Elija el correo electrónico y haga clic en el botón Seleccionar.

  10. Haga clic en Revisar y asignar para terminar de asignar el rol.

  11. Una vez asignado el rol, haga clic en Información general en el menú izquierdo del recurso del centro de tareas y vaya a la dirección URL del panel ubicada en la sección Essentials superior.

Supervisar el progreso de la orquestación y el historial de ejecución

El panel permite supervisar el progreso de la orquestación y revisar el historial de ejecución. Puede filtrar la lista de orquestaciones mediante los criterios siguientes:

  • ID de instancia: busque una orquestación específica usando su identificador único.
  • Nombre de orquestación : filtre por el nombre del tipo de orquestación.
  • Estado : filtre por estado en tiempo de ejecución (En ejecución, completado, con errores, terminados, pendientes, suspendidos).
  • Intervalo de tiempo creado : reduzca los resultados a una ventana de tiempo.

Captura de pantalla del panel que muestra el historial de orquestación y el estado con opciones de filtro.

Ver entradas y salidas de orquestación:

Captura de pantalla del panel que muestra el historial de orquestación y las entradas y salidas de estado.

Vista detallada de la ejecución de orquestación

Puede profundizar en las instancias de orquestación para ver los detalles de ejecución y el progreso de la actividad. Esta vista le ayuda a diagnosticar problemas o a obtener visibilidad sobre el estado de una orquestación.

En la imagen siguiente, la vista Escala de tiempo de una ejecución de orquestación. En esta orquestación "ProcessDocument", la actividad "WriteDoc" se reintentó tres veces (sin éxito) con cinco segundos de espera entre reintentos.

Captura de pantalla del panel que muestra la línea de tiempo de la ejecución de la orquestación.

También puede ver entradas y salidas de actividades en una orquestación:

Captura de pantalla del panel que muestra las entradas y salidas de la actividad.

Otras vistas de la secuencia de ejecución de orquestación

La vista Historial muestra una secuencia de eventos detallada, marcas de tiempo y carga:

Captura de pantalla del panel que muestra los detalles de la instancia de orquestación.

La vista Secuencia proporciona otra manera de visualizar la secuencia de eventos:

Captura de pantalla del panel que muestra la vista de secuencia de orquestación.

Administración de orquestaciones

El panel incluye características para administrar el ciclo de vida de orquestación a petición. Entre las acciones disponibles se incluyen:

  • Suspender — pausar una orquestación en ejecución. Permanece en memoria, pero detiene el procesamiento de eventos hasta que se reanuda.
  • Reanudar : continúe con una orquestación suspendida anteriormente.
  • Finalizar : detenga inmediatamente una orquestación con una cadena de motivo opcional.
  • Generar evento : envíe un evento externo con nombre (con una carga JSON opcional) a una orquestación en ejecución o suspendida.

Captura de pantalla del panel que muestra los botones Suspender, Reanudar, Finalizar y Generar evento para administrar orquestaciones.

Pasos siguientes

Para el Programador de tareas duraderas en Durable Functions:

Para el Programador de tareas duraderas de los SDK de Tareas duraderas: