Compartir a través de


Acciones de colas de trabajo

Las colas de trabajo en Power Automate se pueden usar para almacenar datos relevantes para el proceso y proporcionar una forma de desacoplar procesos y automatizaciones complejos, lo que les permite comunicarse de forma asíncrona.

Las colas de trabajo pueden desempeñar un papel crucial en la mejora de la eficiencia, la escalabilidad y la resistencia de las automatizaciones y ayudan a priorizar el trabajo. Las colas de trabajo le permiten completar primero los elementos de mayor prioridad, independientemente de si los procesan trabajadores digitales, trabajadores humanos o a través de integraciones.

Nota

  • La compatibilidad a nivel de producción para el primer conjunto de acciones relacionadas con la cola de trabajos requiere la versión de escritorio 2.37 o posteriores de Power Automate.
  • Las acciones de la cola de trabajo en Power Automate para escritorio son una función premium que requiere una suscripción a Power Automate.
  • Actualmente, solo las acciones Procesar elementos de la cola de trabajos y Actualizar elementos de la cola de trabajos se pueden clasificar y permitir o restringir mediante la pérdida de datos (DLP) y pronto se implementarán otras acciones. Tenga en cuenta que las políticas de DLP no pueden restringir el uso de colas de trabajo basado en el flujo de la nube.

Procesar elementos de cola de trabajo

La acción Procesar elementos de la cola de trabajo indica al orquestador de la cola que la máquina está lista para procesar uno o más elementos de la cola de trabajo. El contexto de usuario que solicita un nuevo elemento debe tener privilegios suficientes en la cola de trabajo y en la tabla de elementos de la cola de trabajo para poder procesar las colas de trabajo.

Captura de pantalla de la acción Procesar cola de trabajo

El orquestador de colas utiliza la cola de trabajo a la que se hace referencia en la acción anterior para determinar los siguientes elementos disponibles en esa cola de trabajo que están en estado En cola. A medida que el flujo de escritorio recorre las acciones dentro del bucle Procesar elementos de la cola de trabajo que representa esta acción, puede solicitar el valor utilizando la variable que ha designado para la acción junto con la propiedad .Value. En este caso, podría llamar al valor del elemento de la cola de trabajo usando la variable %WorkQueueItem.Value%

Importante

Al proporcionar una expresión FetchXML en el campo "Filtrar filas", evita la lógica FIFO predeterminada del orquestador de colas de trabajo para los elementos en cola. Esto le permite establecer un orden personalizado para quitar de la cola e ignorar las fechas de caducidad de los elementos y otras configuraciones que se aplican automáticamente cuando no se proporciona ninguna expresión de filtro.

Processworkqueueitemaction

La acción Procesar elementos de cola de trabajo requiere los siguientes argumentos.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
Cola de trabajo No Texto El id. de cola de trabajo de la cola de trabajo que contiene elementos para procesar.
Filtrar filas Texto La expresión FetchXML de consulta utilizada para recuperar elementos de la cola de trabajo.
Sobrescribir la configuración de reintentos automáticos de la cola de trabajo Booleana False Cuando se habilita, aparece un campo que le permite establecer o sobrescribir el número máximo de reintentos para IT Exceptions.
Número máximo de reintentos No Valor de texto, valor numérico Cuando no se sobrescribe, utiliza el recuento máximo de reintentos predeterminado definido en el registro de la cola de trabajo. El número máximo permitido de reintentos para IT Exceptions. Este parámetro le permite ajustar el recuento de reintentos a un valor mayor o menor, o incluso deshabilitar el mecanismo de reintentos estableciendo el recuento en 0.

Variables producidas

Argumento Tipo Descripción
WorkQueueItem No Información almacenada en el elemento de la cola de trabajo que se está procesando

Excepciones

Excepción Descripción
No se ha encontrado la cola de trabajo El valor introducido en el parámetro de la cola de trabajo no es válido.
Cola de trabajo en pausa o detenida La cola de trabajo está en pausa o detenida, lo cual no es un estado válido cuando se procesan elementos.
FetchXML no válido Se ha proporcionado una expresión FetchXML no válida.
No se ha podido procesar la cola de trabajo Solicitud incorrecta: error en la sintaxis de la consulta.

¿Qué son las consultas de FetchXML?

Microsoft Dataverse FetchXML es un lenguaje utilizado para recuperar datos de una base de datos de Dataverse. Está diseñado para ser fácil de crear, usar y entender. Por ejemplo, es posible que desee pedir al orquestador que procese los elementos en un orden diferente al de "primero en entrar, primero en salir" (FIFO) y dentro de un plazo de expiración específico.

Para limitar el soporte de consultas FetchXML al procesamiento de elementos de la cola de trabajo, se admite un conjunto limitado de términos y expresiones de FetchXML. Estos términos incluyen filtros, condiciones y expresiones de ordenación, todo ello restringido a la tabla de elementos de la cola de trabajo (workqueueitem). Solo se devuelven elementos que están en un estado Queued.

Consultas de ejemplo de FetchXML

A continuación se muestra un ejemplo de expresión de consulta sobre cómo filtrar en name y ordenar los resultados según los registros que caducan primero (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" />

Soporte de consultas y datos de referencia

  • Lista de operadores de consulta disponibles para su uso, incluidos operadores como on-or-before, between y last-month.
  • Lista de atributos disponibles en la tabla de elementos de la cola de trabajo.

Actualizar elemento de cola de trabajo

La acción Actualizar elemento de cola de trabajo permite a los usuarios cambiar el estado y los resultados del procesamiento del elemento de cola de trabajo seleccionado.

Captura de pantalla de la acción Actualizar cola de trabajo

Updateworkqueueitemaction

La acción Actualizar elementos de cola de trabajo requiere los siguientes argumentos.

Argumento Opcionales Acepta Valor predeterminado Descripción
Elemento de cola de trabajo No Texto Variable de elemento de cola de trabajo que ha devuelto previamente el orquestador de cola
Estado de ejecución No Excepción genérica procesada Procesada Actualice el elemento de la cola de trabajo que se está procesando utilizando un estado de la lista de opciones.
Notas sobre el procesamiento Texto Notas de procesamiento personalizadas o valor para agregar al elemento de la cola que se está procesando.
Borrar notas de procesamiento Booleana False Cuando está habilitado, oculta y borra el campo de notas de procesamiento en esta pantalla y elimina cualquier nota de procesamiento de la base de datos que se haya capturado previamente para este elemento.

Excepciones

Argumento Descripción
No se ha encontrado el elemento de cola de trabajo El elemento de la cola de trabajo que se está procesando se eliminó o ya no pertenece a la cola desde la que se llamó.
Elemento de cola de trabajo en espera El elemento de la cola de trabajo que se está procesando contiene un estado de on hold en el orquestador de colas y ya no se puede actualizar.
No se ha podido actualizar el elemento de cola de trabajo El elemento de la cola de trabajo que se está actualizando ha encontrado un error inesperado. Compruebe el mensaje de error para obtener más detalles.

Agregar elemento de cola de trabajo

La acción Agregar elemento de cola de trabajo permite a los usuarios del flujo de trabajo de escritorio a introducir elementos de cola de trabajo en una cola de trabajo que se haya configurado en el portal de flujos.

Captura de pantalla de la acción Agregar elemento de cola de trabajo

Enqueueworkqueueitemaction

La acción Agregar elementos de cola de trabajo requiere los siguientes argumentos.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
Cola de trabajo No Valor de texto El elemento de cola de trabajo al que agregar el elemento
Prioridad No Alta, Normal, Baja Normal La prioridad a la que establecer el elemento de la cola de trabajo
Name No Valor de texto, valor numérico Id. o nombre personalizado para el nuevo elemento de cola de trabajo
Entrada No Valor de texto, valor numérico Los datos que pertenecen a la columna de valor a procesar
Caduca Datetime El valor de fecha y hora establecido para caducar el elemento de la cola; de lo contrario, adopta el valor predeterminado si se establece uno para la cola
Notas sobre el procesamiento Valor de texto, valor numérico Notas de procesamiento personalizadas que se agregarán al nuevo elemento de la cola
Tiene id. o referencia único Valor de texto, valor numérico Cuando está habilitado, se debe proporcionar un valor que sea único dentro de esta cola. Si se deja vacío, el sistema proporciona automáticamente un valor único en el formato system-<GUID>.

Variables producidas

Argumento Tipo Descripción
WorkQueueItem No Información almacenada para el elemento de la cola de trabajo que se está agregando

Excepciones

Argumento Descripción
No se ha encontrado la cola de trabajo El valor introducido en el parámetro de la cola de trabajo no es válido
No se ha podido agregar el elemento a la cola de trabajo El elemento de la cola de trabajo no se pudo agregar a la cola de trabajo. Solicitud incorrecta: error en la sintaxis de la consulta

Agregar varios elementos de cola de trabajo

La acción Agregar varios elementos a la cola de trabajo permite a los usuarios agregar uno o más elementos de la cola de trabajo a una cola de trabajo en función de los datos proporcionados como tabla de datos de elementos de la cola de trabajo.

Captura de pantalla de la acción Agregar varios elementos de cola de trabajo

Esta acción requiere una tabla de datos personalizada que contenga uno o más elementos de la cola de trabajo. La tabla de datos debe tener ocho columnas y ajustarse al siguiente esquema:

Nombre de columna Descripción Obligatorio Valores permitidos
Nombre El nombre del artículo. No Cualquier cadena alfanumérica
Entrada Introduzca los detalles o datos del elemento. Cualquier cadena alfanumérica
Expira en Especifica la duración hasta que caduca el elemento. No Valor de fecha y hora
Notas sobre el procesamiento Notas de procesamiento relacionadas con el elemento. No Cualquier cadena alfanumérica
Prioridad El nivel de prioridad del elemento. Valor numérico de 100 (Alto), 200 (Normal), 300 (Bajo)
Referencia única Un identificador único o valor de referencia para el elemento. No Cualquier cadena o referencia alfanumérica única
Estado Estado del elemento en el momento de la ingesta. Valor numérico de cero (En cola), uno (En espera).
Retraso hasta Especifica una fecha y hora hasta la que los elementos de la cola de trabajo deben ser ignorados para su procesamiento. No Valor de fecha y hora

Fragmento de código de Robin para crear la tabla de datos

El siguiente ejemplo es un fragmento de código Robin (utilizado en flujos tradicionales) que puede copiar y pegar directamente en la ventana del diseñador de escritorio de Power Automate. Este fragmento de código agrega una acción Crear nueva tabla de datos con el conjunto esperado de campos a su flujo.

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

Fragmento de código de PowerFx para crear la tabla de datos

El siguiente ejemplo es un fragmento de código de PowerFx que puede copiar y pegar directamente en la ventana del diseñador de escritorio de Power Automate. Este fragmento de código agrega una acción Crear nueva tabla de datos con el conjunto esperado de campos a su flujo.

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

La acción de Agregar varios elementos de cola de trabajo requiere los siguientes argumentos.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
Cola de trabajo No Valor de texto El elemento de cola de trabajo al que agregar el elemento
Datos de elemento de cola de trabajo Tabla de datos La tabla de datos personalizada que contiene los elementos de la cola de trabajo que se agregarán a la cola de trabajo

Variables producidas

Argumento Tipo Valor predeterminado Descripción
FailedWorkQueueItems No Habilitados Si se producen errores, este objeto contiene el índice del elemento que no se pudo insertar junto con un código de error. El índice devuelto es la posición (índice) del elemento en la tabla de datos de la cola de trabajo proporcionada de la acción Agregar varios elementos de cola de trabajo.
HasFailedItems No Habilitados Indicador de si las acciones encontraron errores de ingesta debido a problemas con los datos de los elementos de la cola de trabajo.
SuccessfulWorkQueueItems Deshabilitados No Objeto personalizado que contiene el índice y los elementos de la cola de trabajo que se agregaron correctamente a la cola de trabajo.

Excepciones

Argumento Descripción
No se ha encontrado la cola de trabajo El valor introducido en el parámetro de la cola de trabajo no es válido
Cola de trabajo en pausa o detenida El elemento de la cola de trabajo no se pudo agregar a la cola de trabajo porque la cola de trabajo está en pausa o detenida.
Error al poner en cola una lista de elementos de cola de trabajo por lotes Los elementos de la cola de trabajo no se pudieron agregar a la cola de trabajo debido a una solicitud o un error de comunicación.

Volver a poner en cola el elemento con retraso

La acción Volver a poner en cola el elemento con retraso permite a los usuarios volver a agregar un elemento de la cola que se está procesando en el flujo del escritorio a su cola de origen. Además, el elemento en cola se puede retener y liberar hasta un tiempo definido.

Captura de pantalla de la acción volver a poner en cola la cola de trabajo.

Requeueworkqueueitemaction

La acción Reponer elemento en cola con retraso requiere los siguientes argumentos.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
Elemento de cola de trabajo No Elemento de cola de trabajo El elemento de cola de trabajo al que agregar el elemento
Retraso hasta No Valor DateTime Normal El valor de fecha y hora aplicado para retrasar el elemento de la cola hasta
Caduca Valor DateTime Tiempo de vencimiento personalizado para el artículo que se está solicitando
Notas sobre el procesamiento Valor de texto, valor numérico Notas de procesamiento personalizadas que se agregarán al nuevo elemento de la cola
Borrar notas de procesamiento Booleana False Cuando está habilitado, oculta y borra el campo de notas de procesamiento en esta pantalla y elimina cualquier nota de procesamiento de la base de datos que se haya capturado previamente para este elemento.

Excepciones

Argumento Descripción
No se ha encontrado la cola de trabajo El valor introducido en el parámetro de la cola de trabajo no es válido
No se ha encontrado el elemento de cola de trabajo El valor del elemento de la cola no es válido
No se ha podido volver a poner en cola el elemento de cola de trabajo El elemento de la cola de trabajo no se pudo agregar a la cola de trabajo. Solicitud incorrecta: error en la sintaxis de la consulta

Actualizar notas sobre el procesamiento de elementos de cola de trabajo

La acción Actualizar notas sobre el procesamiento de elementos de cola de trabajo permite a los usuarios actualizar o borrar notas de procesamiento del elemento de la cola de trabajo seleccionado sin cambiar su estado ni ninguna otra propiedad.

Captura de pantalla de la acción Actualizar notas de procesamiento de elementos de la cola de trabajo.

updateprocessingnotesaction

La acción Actualizar notas de procesamiento de elementos de la cola de trabajo requiere los siguientes argumentos.

Argumento Opcionales Acepta Valor predeterminado Descripción
Elemento de cola de trabajo No Texto Variable de elemento de cola de trabajo que ha sido devuelta previamente por el orquestador de cola
Notas sobre el procesamiento Texto Resultado o valor del procesamiento personalizado para agregar al elemento de la cola procesado
Borrar notas de procesamiento Booleana False Cuando está habilitado, oculta y borra el campo de notas de procesamiento en esta pantalla y elimina cualquier nota de procesamiento de la base de datos que se haya capturado previamente para este elemento.

Excepciones

Argumento Descripción
No se ha encontrado la cola de trabajo La cola de trabajo asociada con el elemento se eliminó o ya no se puede acceder a ella
No se ha encontrado el elemento de cola de trabajo El elemento de la cola de trabajo no es válido
No se pudieron anexar los resultados del procesamiento El elemento de la cola de trabajo que se está actualizando ha encontrado un error inesperado. Compruebe el mensaje de error para obtener más detalles.

Obtener elementos de cola de trabajo por filtro

La acción de Obtener elementos de la cola de trabajo por filtro permite a los usuarios recuperar uno o más elementos de la cola de trabajo en función de una expresión de filtro FetchXML.

Captura de pantalla de la acción Obtener elementos de la cola de trabajo por filtro.

Getworkqueueitemsaction

La acción de Obtener elementos de cola de trabajo por filtro requiere los siguientes argumentos.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
Cola de trabajo No Texto Cola de trabajo de la que se recuperan elementos
Filtrar filas No Texto FetchXML expresión de consulta utilizada para recuperar elementos de la cola de trabajo
Filas que se deben devolver No Número 5000 El número máximo de elementos de la cola de trabajo devueltos por el orquestador

Variables producidas

Argumento Tipo Valor predeterminado Descripción
WorkQueueItems No Habilitados Lista de elementos de la cola de trabajo que coinciden con la expresión de filtro.

Excepciones

Argumento Descripción
Cola de trabajo La cola de trabajo de la que recuperar los elementos.
Filtrar filas La expresión FetchXML de consulta utilizada para recuperar elementos de la cola de trabajo.
Filas que se deben devolver El número máximo de elementos de la cola de trabajo devueltos por el orquestador (el valor predeterminado es 5000).

¿Qué son las consultas de FetchXML?

Microsoft Dataverse FetchXML es un lenguaje utilizado para recuperar datos de una base de datos de Dataverse. Está diseñado para ser fácil de crear, usar y entender. Por ejemplo, es posible que desee pedir a Dataverse que le proporcione una lista de todos los elementos de la cola de trabajo que se encuentran en estado IT Exception.

Para limitar la compatibilidad de consultas FetchXml a la recuperación de elementos de la cola de trabajo, solo admitimos un conjunto limitado de términos y expresiones FetchXml. Estos términos y expresiones incluyen atributos, filtros, condiciones y expresiones de ordenación, todo ello limitado a la tabla de elementos de la cola de trabajo (workqueueitem). Debe especificar explícitamente qué propiedades se van a devolver de la tabla de elementos de la cola de trabajo y el criterio de ordenación deseado.

Consultas de ejemplo de FetchXML

El siguiente ejemplo es una expresión de consulta sobre cómo obtener varias propiedades, filtrar los elementos erróneos marcados como IT Exceptions y ordenar los resultados según los registros que expiran primero (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" />

Soporte de consultas y datos de referencia

  • Lista de operadores de consulta disponibles para su uso, incluidos operadores como on-or-before, between y last-month.
  • Lista de atributos disponibles en la tabla de elementos de la cola de trabajo.

Estado (statecode)

Estado Código Descripción
En cola 0 El elemento está en cola
Procesando 1 Se está procesando el elemento
Procesada 2 Se ha procesado el elemento
En espera 3 El elemento está en espera
Error 4 El elemento ha encontrado un error

Razón para el estado (statuscode)

Razón para el estado Código Descripción
En cola 0 El elemento está en cola
Procesando 1 Se está procesando el elemento
Procesada 2 Se ha procesado el elemento
OnHold (en pausa) 3 El elemento está en espera (en pausa)
Excepción genérica 4 El elemento encontró una excepción genérica
Excepción de TI 5 El elemento encontró una excepción de TI
Excepción de empresa 6 El elemento encontró una excepción empresarial
Mensajes fallidos 7 El elemento está en espera
ProcessingTimeout 8 Se ha agotado el tiempo de procesamiento del elemento