Orchestrator
2023.4
False
Imagen de fondo del banner
Guía del usuario de Orchestrator
Última actualización 19 de abr. de 2024

Desencadenadores de colas

Importante:

Zonas horarias del desencadenador: la zona horaria establecida en un desencadenador no está restringida por la zona horaria del tenant. Sin embargo, si utilizas calendarios de días no laborables, no podrás establecer diferentes zonas horarias.

Los desencadenadores en cola se inician según la zona horaria definida en el nivel de desencadenador. Los desencadenadores de cola se inician según el procesamiento de los elementos de cola.

Los desencadenadores de colas se desactivan en función de la zona horaria del desencadenador.

Los desencadenadores de colas inician instantáneamente un proceso tras la creación del desencadenador o cada vez que se añade un nuevo elemento a una cola. El desencadenador se ejecuta en el ambiente asociado al proceso seleccionado.

Importante: La implementación de desencadenadores de cola está optimizada para los procesos de consumo que tienen un bucle interno destinado a procesar todos los artículos en cola disponibles antes de salir. Si un proceso no aplica esta estrategia, la experiencia resultante no será óptima y podría no cumplir los requisitos empresariales deseados.

Hay tres opciones que te ayudan a parametrizar las reglas para la activación del proceso:

 

Descripción

Número mínimo de elementos para desencadenar el primer trabajo

La tarea de procesamiento de elementos se inicia después de que la cola específica tenga este número de elementos nuevos.

Los elementos diferidos de la cola no se cuentan.

Número máximo de trabajos en ejecución y pendientes permitidos de forma simultánea

El número máximo de tareas pendientes y en ejecución, conjuntas.

Para que se permita la ejecución simultánea de dos o más trabajos, deberás definir la tercera opción tal y como se describe a continuación.

Se desencadena otro trabajo para cada ____ nuevo/s elemento/s.

Se desencadenará un nuevo trabajo para cada número de elementos nuevos además del número de elementos definidos para la primera opción.

Solo habilitado si hay 2 o más trabajos simultáneos permitidos (definidos utilizando la opción descrita anteriormente).

Para gestionar los elementos de la cola que no pueden procesarse en el momento en que se ponen en cola, incluidos los elementos reintentados, una vez cada 30 minutos se realiza por defecto una comprobación de los elementos no procesados y, si se cumple la condición de activación, se lanza de nuevo el desencadenador.

Ten en cuenta que puedes utilizar el parámetro Queue.ProcessActivationSchedule para ajustar el intervalo de comprobación predeterminado de 30 minutos.

Esta comprobación garantiza que todos los elementos en la cola se procesen en las siguientes situaciones:

  • Los elementos en cola se añaden a la cola mucho más rápido de lo que se pueden procesar con los recursos disponibles.
  • Los elementos en cola se añaden a una cola durante días no laborables, pero solo se pueden procesar durante horas de trabajo.
  • El procesamiento de elementos en cola se pospone a un período de tiempo posterior. Después de que haya pasado ese tiempo, estarán listos para ser procesados una vez hayan sido identificados por la comprobación de 30 minutos.

    Nota: Debido a la comprobación por defecto de 30 minutos, existe el riesgo de que se obstruyan los recursos durante las horas no laborables. Para evitarlo, asegúrate de que no hay elementos sin procesar al final de la jornada laboral. En caso de que no sea posible, asegúrate de que el proceso desencadenado no requiera la intervención humana.

Algoritmo de procesamiento de desencadenadores de cola

Números utilizados en el algoritmo

  • Número de nuevos artículos en cola disponibles en la cola: N

  • Número mínimo de elementos para desencadenar el primer trabajo: x

    • Esto significa que nunca desencadenaremos un trabajo a no ser que haya al menos x nuevos elementos.

  • Número máximo de trabajos pendientes y en ejecución que se permiten de manera simultánea: y

    • Esto significa que establecemos un límite (y) en la cantidad de trabajos permitidos en paralelo.

  • Se desencadena otro trabajo para cada ____ nuevo(s) elemento(s): z.

    • Esto significa que se inicia 1 trabajo si se llega a x. Para los artículos en cola restantes de N x, intentaremos iniciar los trabajos (N-x)/z. Si y se superara, se crearía solo el número de puestos de trabajo suficientes para llegar a y en total.

Al determinar cuántos trabajos adicionales se pueden crear, tenemos en cuenta los trabajos en ejecución actuales (w). En función de la configuración de Desencadenadores, Desencadenadores de cola y Habilitar la estrategia de trabajos pendientes, este número se calcula de la siguiente manera:

  • Verdadero: trabajos adicionales máximos que se crearán en función de los artículos en cola recién disponibles = y menos el número de trabajos en estado Pendiente. (Esta opción es la más adecuada para los casos en los que se desea que Orchestrator asuma que todos los trabajos en ejecución ya han movido los artículos en cola fuera del estado Nuevo.)

  • Falso: trabajos adicionales máximos que se crearán en función de los artículos en cola recién disponibles = y menos el número de trabajos en uno de estos estados: Pendiente, Reanudado, En ejecución, Detenido, Finalizado. (Esta opción es más adecuada para casos en los que quieres que Orchestrator asuma que todos los trabajos en ejecución aún tienen que migrar artículos en cola fuera del estado Nuevo.)

Notas importantes

  • Esta evaluación se realiza cada vez que se añade un único artículo en cola, incluso mediante adición en bloque.

  • Para garantizar que se tengan en cuenta los artículos en cola pospuestos (aplazados), cada desencadenador de cola tiene una programación asociada que vuelve a comprobar todo el algoritmo anterior. Esto sucede de forma predeterminada cada 30 minutos, pero se puede reducir a un mínimo de 10 a través de la configuración de tenant Colas: frecuencia de comprobación de artículos en cola sin procesar (minutos).

  • Históricamente, se pretende garantizar que se inicia un trabajo una vez que se alcanza un umbral, y que cuando este se supera, se inician trabajos adicionales para ayudar a procesar el mayor volumen de trabajo pendiente. No se pretende distribuir la carga de trabajo de forma uniforme entre las máquinas potenciales, sino solo garantizar que hay suficientes trabajos.

  • No hay un enlace firme entre los trabajos iniciados y los artículos en cola para los que se iniciaron, lo que significa que el trabajo J no tiene por qué encargarse de los artículos en cola a, b, c, etc.

  • Los resultados del algoritmo varían según si se añaden artículos en cola de forma individual o en bloque, ya que esto influye en el número de evaluaciones realizadas.

  • La Fecha límite sirve para ordenar tareas con prioridades similares, mientras que Posponer garantiza que una tarea no se inicie antes de la hora especificada. Sin embargo, ambos parámetros no están diseñados para utilizarse juntos.

Ejemplo

Escenario 1: artículos en cola añadidos de forma individual

Tengo dos trabajos:

  • Uno que añade 3 elementos por segundo durante 20 segundos a la cola de destino (60 elementos en total).
  • Uno que procesa 1 artículo por segundo de la cola de destino.

He definido mi desencadenador del siguiente modo:

  • Número mínimo de elementos para desencadenar el primer trabajo:31.
  • Número máximo de trabajos en ejecución y pendientes permitidos de forma simultánea:3.
  • Se desencadena otro trabajo para cada 10nuevo elemento.

Inicia el trabajo que añade elementos a mi cola.

  1. Después de 11 segundos (33 elementos) se desencadena el primer trabajo de procesamiento de elementos.
  2. Después de otros 4 segundos (12 elementos) se desencadena el segundo trabajo de procesamiento de elementos.
  3. Después de otros 4 segundos (12 elementos) se desencadena el tercer trabajo de procesamiento de elementos.

Cuando terminó la adición de elementos de la cola, el primer trabajo había procesado 9 elementos, el segundo 5 elementos y el tercero 1 elemento. Es decir, 15 elementos en 20 segundos procesados por tres trabajos.

Eso significa que quedan 45 elementos por procesar (60-15). Si tenemos 3 trabajos, cada uno de los cuales procesa 1 artículo por segundo, tendremos 15 segundos para procesar el resto, lo que supone un total de 35 segundos.

Escenario 2: artículos en cola añadidos en bloque

Si los 60 artículos en cola mencionados en el escenario anterior se añaden con una operación masiva (si no hay trabajo en ejecución o pendiente), se crean 3 trabajos.

Si al menos un trabajo finaliza antes del programa de reevaluación, se crean más trabajos.

Objetivo de ejecución

Puedes configurar varias reglas en función de las cuales se ejecutan los procesos asociados.

Descripción

 

Cuenta

El proceso se ejecuta bajo una cuenta específica. Si se especifica solo la cuenta, Orchestrator asigna la máquina de forma dinámica. Especificar tanto la cuenta como la plantilla de máquina significa que el trabajo se lanza en ese mismo par cuenta-máquina.

Máquina

El proceso se ejecuta en una de las máquinas del host asociadas a la plantilla de máquina seleccionada. Si se especifica solo la plantilla de máquina, Orchestrator asigna la cuenta dinámicamente. Especificar tanto la cuenta como la plantilla de máquina significa que el trabajo se lanza en ese mismo par cuenta-máquina.

Nota: asegúrate de que las licencias de runtime necesarias para ejecutar el trabajo están asignadas a la plantilla de máquina asociada.

NombreDelHost

NombreDelHost

Después de seleccionar una plantilla de máquina, se muestra la opción nombre de host, que permite seleccionar la estación de trabajo/sesión de robot deseada para ejecutar el proceso.

Se muestran todas las sesiones disponibles en la carpeta activa, ya sean desconectadas, no conectadas o conectadas.

Nota: asegúrate de que las licencias de runtime necesarias para ejecutar el trabajo están asignadas a la plantilla de máquina asociada.

Desencadenadores de cola creados con UiPath Activities

Los desarrolladores de RPA también pueden crear desencadenadores de cola en tiempo de diseño en Studio, utilizando la actividad Cuando se agrega un nuevo elemento a la cola del paquete UiPath.Core.Activities .

Orchestrator identifica estos tipos de desencadenadores como requisitos de paquete y la única forma de añadirlos en Orchestrator es desde la página Requisitos del paquete .

Cualquier configuración establecida en tiempo de diseño se refleja en Orchestrator y no se puede modificar.

Por ejemplo: cuando se agrega un elemento de cola a mi cola, quiero recibir sus metadatos como un mensaje de registro. La diferencia es que el desencadenador de cola indica a la automatización que se inicie desde el interior del flujo de trabajo, a diferencia de los desencadenadores de cola de Orchestrator , que indica a la automatización que se inicie desde fuera del flujo de trabajo.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.