Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 trabajo y Actualizar elemento de la cola de trabajo pueden clasificarse y permitirse o restringirse mediante directivas de prevención de pérdida de datos (DLP); pronto se añadirá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 la cola de trabajo
La acción Procesar elementos de la cola de trabajo indica al orquestador de colas 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.
El orquestador de colas usa la cola de trabajo a la que se hace referencia en la acción anterior para determinar cuáles son los próximos elementos disponibles de esa cola de trabajo que están en estado En cola. A medida que el flujo de escritorio avanza por las acciones dentro del bucle «Procesar elementos de la cola de trabajo» que genera esta acción, puede acceder al valor mediante la variable que haya designado para la acción junto con la propiedad .Value. En este caso, podría hacer referencia 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 elemento 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 | Sí | 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 | Sí | Booleano | Falso | 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 | Elemento de la cola de trabajo | 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, restringidos todos ellos a la tabla de elementos de 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 usar, 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.
Updateworkqueueitemaction
La acción Actualizar elementos de cola de trabajo requiere los siguientes argumentos.
| Argumento | Opcionales | Acepta | Valor predeterminado | Descripción |
|---|---|---|---|---|
| Elemento de la cola de trabajo | No | Texto | Variable de elemento de cola de trabajo que ha devuelto previamente el orquestador de cola | |
| Estado | No | Excepción genérica procesada | Procesado | Actualice el elemento de la cola de trabajo que se está procesando con uno de los estados de la lista de opciones. |
| Notas sobre el procesamiento | Sí | Texto | Notas de procesamiento personalizadas o valor para agregar al elemento de la cola que se está procesando. | |
| Borrar notas de procesamiento | Sí | Booleano | Falso | 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 encontró el elemento de la cola de trabajo | El elemento de la cola de trabajo que se está procesando ha sido eliminado o ya no pertenece a la cola desde la que se invocó. |
| 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.
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 | Nombre personalizado o ID para el elemento de la nueva cola de trabajo | |
| Entrada | No | Valor de texto, valor numérico | Los datos que pertenecen a la columna de valor a procesar | |
| Caduca | Sí | Fecha y hora | El valor de fecha y hora establecido para que caduque el elemento de la cola; en caso contrario, adopta el valor predeterminado si se ha establecido alguno para la cola. | |
| Notas sobre el procesamiento | Sí | 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 | Sí | 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 | Elemento de la cola de trabajo | Información almacenada para el elemento de la cola de trabajo que se está añadiendo |
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 la 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.
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. | Sí | 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. | Sí | 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. | Sí | Valor numérico de cero (En cola) o de uno (En espera). |
| Retrasar 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 del elemento de la cola de trabajo | Sí | Tabla de datos | La tabla de datos personalizada que contiene los elementos de la cola de trabajo que se añadirán a la cola de trabajo |
Variables producidas
| Argumento | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| FailedWorkQueueItems | No | Activado | 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 | Habilitado | 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 que se añadieron 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 | No se pudo añadir el elemento a la cola de trabajo porque la cola de trabajo está pausada o detenida. |
| No se pudo poner en cola por lotes una lista de elementos de la cola de trabajo | 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. |
Reencolar el elemento con demora
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.
Requeueworkqueueitemaction
La acción Volver a poner el elemento en cola con retraso requiere los siguientes argumentos.
Parámetros de entrada
| Argumento | Opcionales | Acepta | Valor predeterminado | Descripción |
|---|---|---|---|---|
| Elemento de la cola de trabajo | No | Elemento de la cola de trabajo | El elemento de cola de trabajo al que agregar el elemento | |
| Retrasar hasta | No | Valor de fecha y hora | El valor de fecha y hora utilizado para posponer el elemento de la cola hasta | |
| Caduca | Sí | Valor de fecha y hora | Tiempo de vencimiento personalizado para el artículo que se está solicitando | |
| Notas sobre el procesamiento | Sí | Valor de texto, valor numérico | Notas de procesamiento personalizadas que se agregarán al nuevo elemento de la cola | |
| Borrar notas de procesamiento | Sí | Booleano | Falso | 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 encontró el elemento de la 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 las notas de procesamiento de los elementos de la 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.
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 | Sí | Texto | Resultado o valor de procesamiento personalizado que se añadirá al elemento de cola procesado | |
| Borrar notas de procesamiento | Sí | booleano | Falso | 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 encontró el elemento de la 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 la cola de trabajo mediante un 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.
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 devolverán | 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 | Habilitado | Lista de elementos de la cola de trabajo que coinciden con la expresión de filtro. |
¿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 orden, todos ellos limitados a la tabla de elementos de 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 usar, 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 |
| Procesado | 2 | Se ha procesado el elemento |
| En espera | 3 | El elemento está en espera |
| Error | 4 | El elemento ha encontrado un error |
Motivo del estado (statuscode)
| Motivo del estado | Código | Descripción |
|---|---|---|
| En cola | 0 | El elemento está en cola |
| Procesando | 1 | Se está procesando el elemento |
| Procesado | 2 | Se ha procesado el elemento |
| Pausa | 3 | El elemento está en pausa o en espera |
| Excepción genérica | 4 | El elemento encontró una excepción genérica |
| ITException | 5 | El elemento experimentó una excepción informática |
| Excepción de negocio | 6 | El elemento encontró una excepción empresarial |
| Mensaje no entregado | 7 | El elemento está en espera |
| Tiempo de espera de procesamiento | 8 | Se ha agotado el tiempo de procesamiento del elemento |