Ejercicio: Crear una cola de trabajo

Completado

En laboratorios anteriores, hemos creado una solución integral para introducir una factura en una aplicación heredada. Dicha solución, que ejecuta un flujo de escritorio desde un flujo de nube, le permite introducir automáticamente datos relevantes en la aplicación heredada sin tener que realizar ningún proceso manual. Cuando se activa, este flujo se colocará en una cola con todos los demás flujos de escritorio que están configurados para ejecutarse, y solo se ejecutará cuando le corresponda de acuerdo con su turno en la cola. Sin embargo, ¿qué podemos hacer si necesitamos modificar ese orden para que un flujo en concreto se ejecute con mayor prioridad que otros?

Las colas de trabajo en Power Automate desempeñan un papel crucial en la mejora de la eficiencia, la escalabilidad y la resiliencia de las automatizaciones, y contribuyen a priorizar el trabajo: los elementos de mayor prioridad se completan primero, con independencia de si han sido procesados por trabajadores digitales, trabajadores humanos o mediante integraciones.

Tal y como las líneas de ensamblado de fabricación están diseñadas para desacoplar diferentes etapas complejas de producción, las colas de trabajo pueden contribuir a desacoplar diferentes áreas de un proceso, de modo que cada parte opere de forma independiente e intercambie entradas y salidas priorizadas de forma asíncrona.

Tarea: Crear una nueva cola de trabajo

  1. Vaya a Power Automate e inicie sesión con sus credenciales.

  2. En el menú de navegación a la izquierda de la pantalla, seleccione Más, junto a los puntos suspensivos. Luego, seleccione Colas de trabajo.

  3. Esto llevará al usuario a la sección de colas de trabajo. Seleccione el botón + Nueva cola de trabajo o + Nueva, en la parte superior de la pantalla, para crear una nueva cola de trabajo.

  4. En el panel Nueva cola de trabajo, escriba la siguiente información:

    • Nombre de cola de trabajo: Invoices
  5. Después, seleccione Crear.

    Nota

    Si establece un tiempo de vencimiento para una cola de trabajo, todos los elementos agregados caducarán una vez transcurrido ese tiempo. Por ejemplo, si configura el tiempo de vencimiento en 30 minutos, un elemento agregado a las 14:00 caducará a las 14:30.

Tarea: Crear el flujo de trabajo Carga de elementos de la cola de trabajo

  1. En la Solución de procesamiento de facturas creada en el laboratorio anterior, seleccione +Nuevo en la barra de herramientas de la parte superior. Luego, seleccione Automatización y Flujo de escritorio para crear un nuevo flujo de escritorio.

  2. Asígnele al flujo el nombre Work Queue Item Load y seleccione Iniciar la aplicación. Se le dirigirá a una nueva pestaña en el navegador y es posible que deba iniciar sesión en Power Automate de escritorio si se le solicita.

  3. Desde el diseñador de Power Automate de escritorio, vaya hasta la sección Excel y seleccione la acción Iniciar Excel para agregarla como el primer paso del flujo de trabajo.

  4. En la acción Iniciar Excel, seleccione el menú desplegable del parámetro Iniciar Excel y cámbielo a y abrir el siguiente documento.

    Captura de pantalla con el parámetro Iniciar Excel

  5. Cambie la Ruta del documento y seleccione el archivo con el nombre Work Queue Vendor Invoice Items, dentro de la carpeta Lab #13 Excel file for Work Queues del material del curso.

  6. Seleccione las alternancias como se muestra a continuación (desactivarHacer que la instancia esté visible y activarAbrir como de solo lectura); luego, seleccione Guardar.

  7. Desde el área de acciones de Excel, seleccione la acción Leer en hoja de cálculo de Excel y agréguela como siguiente paso.

  8. Seleccione el menú desplegable en la acción Leer en hoja de cálculo de Excel para recuperar y seleccionar Todos los valores disponibles de la hoja de cálculo. Luego, seleccione Avanzado y cambie La primera línea del rango contiene nombres de columna a activado. Por último, seleccione la variable generada y agregue Invoices al nombre de la variable para que aparezca como ExcelDataInvoices.

    Nota

    Cambiar el nombre de las variables según sea necesario para que sea más fácil comprender el propósito de la variable y cómo se hace referencia a ella es un procedimiento recomendado.

  9. Vaya a la sección Acciones de bucle y seleccione la acción de bucle For Each.

  10. Seleccione el icono de variable a fin de elegir la variable ExcelDataInvoices para iterar; luego, cambie el nombre de la variable en la que se almacenan los datos para que sea CurrentInvoice y seleccione Guardar.

  11. Vaya a la sección Colas de trabajo, en el panel de acciones, y seleccione la acción Agregar elemento de cola de trabajo. Debe arrastrar la acción hacia dentro del bucle For Each.

  12. En el cuadro de diálogo, agregue la siguiente información y seleccione Guardar.

    • Cola de trabajo: Facturas

    • Estado: En cola

    • Prioridad: Normal

    • Nombre: %CurrentInvoice['InvoiceItemID']%

    • Entrada:

      {
      "AccountName": "%CurrentInvoice['AccountName']%", 
      "ContactEmail": "%CurrentInvoice['ContactEmail']%", 
      "Amount": "%CurrentInvoice['Amount']%"
      }
      

    Nota

    Los corchetes [ ] con comillas simples (' ') designan una columna a la que se hará referencia.

    Nota

    En este caso, la entrada es un objeto JSON que almacena datos en pares de nombre/valor.

  13. Vaya a la sección Excel en el panel de acciones y agregue la acción Cerrar Excel como último paso del flujo, fuera del bucle For Each. No es necesario modificar esta acción.

  14. Seleccione el botón Guardar y Ejecutar para ejecutar el flujo de trabajo.

  15. Cierre la ventana del diseñador de Power Automate de escritorio.

  16. Vaya al portal del flujo de nube de Power Automate, en make.powerautomate.com, seleccione Más y elija Colas de trabajo desde el menú. Como puede ver, hay 30 elementos en cola para la cola de trabajo Factura.

  17. Seleccione la cola de trabajo Factura y vaya a la pestaña Elementos para ver la lista completa de elementos que el flujo de trabajo ejecutado recientemente ha puesto en cola.

    Como puede ver, todos los elementos tienen el estado En cola, con una marca de verificación.

Tarea: Crear el flujo de trabajo Procesador de elementos de la cola de trabajo

  1. Vuelva a Power Automate de escritorio.

  2. Seleccione los puntos suspensivos para el flujo Introducir una factura, creado en un laboratorio anterior, y seleccione Crear una copia en la lista desplegable.

  3. Cambie el nombre del nuevo flujo a Procesador de elementos de la cola de trabajo

  4. Seleccione el nuevo flujo Procesador de elementos de la cola de trabajo y seleccione el icono de lápiz para editarlo.

  5. Vaya a la sección Colas de trabajo, en el panel de acciones, y seleccione la acción Procesar elementos de cola de trabajo. Inserte esta acción después del paso Ejecutar aplicación (incluido ya en el flujo).

    Nota

    Esta debería ser la nueva acción 2 del flujo de trabajo.

  6. Seleccione la cola de trabajo Facturas en el menú desplegable.

  7. En el panel Acciones, busque Json y seleccione la acción Convertir JSON a objeto personalizado; asegúrese de agregarla dentro del bucle "Procesar elementos de cola de trabajo" recién creado.

  8. Seleccione el icono de variable {x} para elegir el valor JSON que se va a convertir. En la lista desplegable, vaya hacia abajo, seleccione la flecha de expansión para WorkQueueItem y seleccione la opción .Value. Haga clic en Seleccionar para agregar esto en el área de parámetros. Cuando lo haya agregado, seleccione Guardar.

  9. Seleccione el botón Guardar, en la parte superior de la ventana.

  10. Seleccione el número 4 en la lista de acciones para agregar un punto de interrupción en el flujo. Este punto de interrupción detendrá el flujo en la acción para la que se ha agregado, a fin de que los usuarios vean los detalles del flujo en ese momento.

  11. Seleccione el botón Guardar y Ejecutar, en la parte superior de la ventana.

  12. Haga doble clic en la variable JsonAsCustomObject, en el área "Variables de flujo" del panel de variables, para ver los detalles de salida del flujo que se está ejecutando.

    Captura de pantalla con la selección de la variable

    Como puede ver, hay datos que se han analizado desde el JSON que ahora se pueden usar como pares nombre/valor. Seleccione Cerrar para cerrar la ventana.

  13. Seleccione el botón Detener, en la parte superior de la ventana del diseñador.

  14. En la sección Colas de trabajo del panel de acciones, seleccione la acción Actualizar elemento de cola de trabajo y arrástrela a la lista de acciones que hay tras el paso Convertir JSON a objeto personalizado, dentro del bucle for.

  15. Deje Entrada en blanco, añada el resultado de procesamiento Correcto en el cuadro de diálogo para "Actualizar elemento de cola de trabajo" y seleccione Guardar.

  16. Seleccione el botón Guardar y Ejecutar, en la parte superior de la ventana.

  17. Vuelva al navegador web de Power Automate, en la cola de trabajo Facturas que ha visitado anteriormente. Actualice el explorador y vaya a la pestaña Elementos.

  18. Baje hasta el final de la lista y busque el elemento que se ha procesado durante la ejecución del flujo de escritorio anterior.

  19. Vuelva al diseñador de flujo de escritorio y seleccione el botón Detener, en la parte superior de la ventana.

  20. Mantenga presionada la tecla Ctrl en el teclado para seleccionar todas las acciones del flujo de escritorio "Introducir una factura" original; luego, arrastre todos esos pasos hasta el bucle Procesar elementos de cola de trabajo, entre las acciones "Convertir JSON a objeto personalizado" y "Actualizar elemento de cola de trabajo".

  21. Edite los tres pasos de Rellenar el campo de texto en la ventana y elimine la variable de entrada utilizada anteriormente a fin de reemplazar el Texto para rellenar con un valor del JSON analizado y almacenado en la variable JsonAsCustomObject.

  22. Utilice lo siguiente para reemplazar el Texto para rellenar para cada acción:

    • Cuadro de texto de la cuenta: %JsonAsCustomObject['AccountName']%
    • Cuadro de texto de contacto: %JsonAsCustomObject['ContactEmail']%
    • Cuadro de texto de importe: %JsonAsCustomObject['Amount']%
  23. Si hay un punto de interrupción en la línea 16, elimínelo. Seleccione Guardar y Ejecutar una última vez para ver todos los elementos de la cola de trabajo procesados por este flujo.

  24. Vuelva al portal de la nube de Power Automate; como puede ver, el elemento de la cola de trabajo completado se ejecuta en la cola de trabajo Factura.