- Primeros pasos
- Mejores prácticas
- Tenant
- Contexto de carpetas
- Automatizaciones
- Procesos
- Trabajos
- Desencadenadores
- Sobre desencadenadores
- Administrar desencadenadores
- Usar las expresiones Cron
- Registros
- Supervisión
- Colas
- Activos
- Depósitos de almacenamiento
- Test Suite - Orchestrator
- Administración de host
- Servidor de identidad
- Autenticación
- Administración de la organización
- Otras configuraciones
- Integraciones
- Robots clásicos
- Solución de problemas
Sobre desencadenadores
Desencadenadores le permite ejecutar trabajos de forma planificada, a intervalos regulares (desencadenadores de tiempo) o siempre que se añadan nuevos elementos a sus colas (desencadenadores de cola). La página Desencadenadores te permite crear nuevos desencadenadores, gestionar los existentes y ejecutar instantáneamente un trabajo con cualquier desencadenador existente.
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 por tiempo 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.
Tanto los desencadenadores de tiempo como los de cola se deshabilitan según la zona horaria del desencadenador.
Deshabilitación de desencadenador:
Por defecto, los desencadenadores se desactivan automáticamente después de 10 lanzamientos fallidos si no se han lanzado con éxito en el último día.
Este valor se puede personalizar mediante el parámetro Triggers.DisableWhenFailedCount
.
Te permite programar una hora recurrente para iniciar un trabajo.
Una vez que agregas un desencadenador de tiempo para un proceso, puedes esperar lo siguiente:
- El desencadenador crea un trabajo a la hora programada, con las opciones de asignación, cuenta y máquina que elijas. Esto no equivale a la ejecución real del trabajo.
- El trabajo creado en el paso 1 se ejecuta una vez que un robot está disponible. De forma predeterminada, si el desencadenador ya tiene un trabajo pendiente, no se crean nuevos trabajos hasta que se ejecute el primero.
- El número de trabajos pendientes que puede crear el desencadenador se controla con el parámetro
Triggers.JobsCountStrategy
.
- El número de trabajos pendientes que puede crear el desencadenador se controla con el parámetro
Los valores de entrada para los procesos que admiten los parámetros de entrada y salida también pueden gestionarse en este nivel.
Puedes configurar varias reglas en función de las cuales se ejecutan los procesos asociados.
Descripción | |
---|---|
Asignación dinámica |
Asignar dinámicamente Define cuántas veces se debe ejecutar un proceso en función del desencadenador proporcionado. Esta opción te permite utilizar tus recursos al máximo. En cuanto un UiPath Robot se vuelve Disponible, ejecuta el proceso indicado según el desencadenador proporcionado. |
Cuenta El proceso se ejecuta bajo una cuenta específica. Si solo se especifica la cuenta, Orchestrator asigna la máquina de forma dinámica. Especificar tanto la cuenta como la 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 adjuntadas a la plantilla de máquina seleccionada. Si solo se especifica la máquina, Orchestrator asigna la cuenta de forma dinámica. Especificar tanto la cuenta como la máquina significa que el trabajo se lanza en ese mismo par cuenta-máquina. Nota:
Asegúrate de que los tiempos de ejecución que coinciden con el tipo de trabajo se asignan a la plantilla de máquina asociada. Solo se muestran las máquinas del host conectadas asociadas a la carpeta activa. | |
Selecciona una asignación de cuenta-máquina válida |
El proceso puede ejecutarse en varios pares específicos de máquina-cuenta. |
- Si configuras varios desencadenadores en el mismo Robot y su tiempo de ejecución se superpone al menos una vez, los trabajos se pondrán en cola, en estado pendiente. El robot ejecuta los trabajos en cola en orden cronológico.
-
Si el mismo proceso se programa en el mismo Robot varias veces y su tiempo de ejecución se superpone, solo se pone en cola un proceso, en estado pendiente. Por ejemplo, si el proceso A del robot X está programado para ejecutarse a las 11:20, 11:21 y 11:25, el comportamiento es el siguiente:
- a las 11:20 se ejecuta el primer proceso.
-
Si la primera ejecución finaliza antes del segundo desencadenador:
-
El segundo desencadenador se procesa.
- Si esta ejecución finaliza antes del desencadenador 11:25, el último también se ejecutará.
- Si la ejecución del desencadenador 11:21 no concluye antes del 11:25, este último se añade a una cola, en estado pendiente.
-
- Si la primera ejecución no finaliza antes del segundo desencadenador:
-
El desencadenador 11:21 se pone en cola, en estado pendiente.
- Si la ejecución del desencadenador 11:21 finaliza antes del 11:25, este último también se ejecutará.
- Si la ejecución del desencadenador 11:21 se inicia pero no termina antes del 11:25, el último desencadenador se pone en cola, en estado pendiente.
- Si el desencadenador 11:21 aún está pendiente cuando el 11:25 uno debería iniciarse, este último ya no se ejecuta o se añade a una cola y se mostrará el siguiente mensaje: Los robots ya tienen trabajos pendientes para este proceso.
-
-
Si quieres ejecutar un proceso varias veces en cualquier Robot que esté disponible, puedes marcar la opción Asignar dinámicamente en la pestaña Ejecutar destino. Los trabajos se ponen en cola (en estado pendiente) en el entorno correspondiente y cada vez que un robot está disponible, se ejecuta el primer trabajo de la cola. De esta manera, nunca habrá un robot disponible mientras haya trabajos pendientes.
Pongamos que quieres ejecutar un proceso 7 veces. En cuanto se desencadene tu desencadenador, se agregarán 7 trabajos pendientes a la carga de trabajo del entorno, sin asignarlos a ningún robot específico. Hay varias situaciones posibles:
- Hay al menos 7 Robots disponibles en el momento de la activación: a un Robot se le asigna un trabajo de manera que todos los trabajos se ejecutan de una sola vez.
- Si hay menos de 7 Robots disponibles a la hora de la activación, digamos 4, a cada uno de los 4 Robots se le asigna un trabajo. Si un nuevo Robot o uno de los 4 queda disponible, entonces se hace cargo de otro trabajo de los 3 restantes. Esto ocurre con cada Robot disponible hasta que no queden trabajos.
-
Si dos o más desencadenadores ejecutan el mismo proceso, cada uno durante un número diferente de veces, en el siguiente desencadenador, el número máximo de trabajos entre ellos se añade a la carga de trabajo del entorno; no se acumulan. imagina la siguiente situación: el desencadenador A ejecuta un proceso 13 veces y el desencadenador B la ejecuta 20 veces. Puede que se den los siguientes escenarios:
- A y B se activan simultáneamente: 20 trabajos (el máximo entre 13 y 20) están en cola en la carga de trabajo del entorno.
-
Desencadenadores B primero: 20 trabajos en cola
- Si entre el momento de activación de B y el momento de activación de A se han ejecutado 7 o más trabajos, digamos 9 (quedan 11 trabajos pendientes), entonces se ponen en cola 13 trabajos (el máximo entre 11 y 13) en la carga de trabajo del entorno.
- Si entre el momento de activación de B y el momento de activación de A, se han ejecutado menos de 7 trabajos, digamos 5 (15 trabajos pendientes), entonces no se ponen en cola más trabajos porque ya hay más de 13 trabajos pendientes. Además, se muestra el siguiente mensaje: Los Robots ya tienen trabajos pendientes para este proceso.
-
A se activa primero: 13 trabajos están en cola
- Cada vez que B se desencadena durante la ejecución de A, se añaden al entorno un número de hasta 20 trabajos, dependiendo de cuántos trabajos de A estén en curso o se hayan ejecutado. Digamos que se han ejecutado 6 trabajos. Cuando B se desencadena, se añaden 13 trabajos, de modo que se ha alcanzado el máximo de 20.
-
Si un desencadenador ejecuta el mismo proceso varias veces, los trabajos en cola relacionados quedan limitados al número de ejecuciones especificadas al definir el desencadenador en la pestaña Ejecutar objetivo. No se acumularán con cada lanzamiento del desencadenador.
Pongamos que quieres ejecutar el mismo proceso 10 veces cada 30 minutos. La primera vez que se inicia tu desencadenador, se pondrán en cola 10 trabajos. Si entre los desencadenadores se han ejecutado menos de 10 trabajos (digamos 4), en el momento en que se ejecute el siguiente desencadenador solo se ponen en cola 6 nuevos trabajos, ya que el número de trabajos pendientes para ese proceso puede ser de un máximo de 10.
Puede iniciar instantáneamente un proceso tras la creación del desencadenador o cada vez que añadas un nuevo elemento a una cola. El desencadenador se ejecuta en el ambiente asociado al proceso seleccionado.
Hay tres opciones que te ayudan a configurar las reglas para la activación de procesos:
Campo |
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). |
Orchestrator tiene en cuenta los elementos de cola Nuevos y En curso a la hora de calcular el número de trabajos de destino que deben alcanzarse para una asignación óptima de recursos.
Ejemplo
- Añade 3 elementos de cola a la cola. Orchestrator calcula el número de trabajos de destino en función del número de elementos nuevos y en curso => se necesitan 3 trabajos de destino. Orchestrator lanza 3 trabajos para procesar los 3 elementos de cola. Los 3 elementos pasan a estar en curso.
- Añade otros 2 nuevos elementos a la cola. Orchestrator calcula el número de trabajos de destino en función del número de elementos nuevos y en curso => se necesitan 5 (3+2) trabajos de destino. Orchestrator lanza 2 nuevos trabajos para lograr el objetivo de 5.
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. 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.Nota: ten en cuenta que puedes utilizar el parámetroQueue.ProcessActivationSchedule
para ajustar el intervalo de comprobación predeterminado de 30 minutos.
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 elemento por segundo de la cola destinada.
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
10
nuevo elemento.
Inicia el trabajo que añade elementos a mi cola.
- Después de 11 segundos (33 elementos) se desencadena el primer trabajo de procesamiento de elementos.
- Después de otros 4 segundos (12 elementos) se desencadena el segundo trabajo de procesamiento de elementos.
- 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). Con 3 trabajos, cada uno procesando 1 elemento por segundo, serían 15 segundos para procesar el resto.
Un total de 35 segundos.
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 solo se especifica la cuenta, Orchestrator asigna la máquina de forma dinámica. Especificar tanto la cuenta como la 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 adjuntadas a la plantilla de máquina seleccionada. Si solo se especifica la máquina, Orchestrator asigna la cuenta de forma dinámica. Especificar tanto la cuenta como la máquina significa que el trabajo se lanza en ese mismo par cuenta-máquina. Nota:
Asegúrate de que los tiempos de ejecución que coinciden con el tipo de trabajo se asignan a la plantilla de máquina asociada. Solo se muestran las máquinas del host conectadas asociadas a la carpeta activa. |
El Triggers.JobsCountStrategy
permite elegir la estrategia para iniciar trabajos a través de desencadenadores. Están disponibles las siguientes opciones:
PerProcess
: un desencadenador inicia el número de trabajos requerido teniendo en cuenta cualquier trabajo pendiente del proceso especificado. Por ejemplo, dos desencadenadores definidos para el mismo proceso inician 3 y 5 trabajos respectivamente. Si el primer desencadenador inicia 3 trabajos en un momento dado, cuando se activa el segundo desencadenador se lanzan 2 trabajos para llegar a los 5 trabajos necesarios.PerTrigger
: un desencadenador inicia el número de trabajos requerido teniendo en cuenta cualquier trabajo existente iniciado previamente por ese mismo desencadenador. Por ejemplo, se define un desencadenador para iniciar 9 trabajos en un momento dado. Si se han completado 2 trabajos correctamente en el momento en que se desactiva este desencadenador de nuevo, Orchestrator inicia otros 2 trabajos para llegar a los 9 trabajos necesarios.NoLimit
: el desencadenador inicia el número de trabajos requerido independientemente de cualquier trabajo existente y pendiente. Por ejemplo, se define un desencadenador para iniciar 5 trabajos en un momento dado. La segunda vez que se desactiva el desencadenador, se inician otros 5 trabajos.
Si lo deseas, podrás definir varias listas de días no laborables, por inquilinos, con su propio conjunto de fechas en las que no quieras que los desencadenadores se ejecuten. Esto significa que, los días de fiesta, fines de semana o cualquier otro día en que no se lleven a cabo las actividades comerciales ordinarias, los desencadenadores a largo plazo que tengas activados podrán configurarse para que no se ejecuten. Puedes definir o cargar esos calendarios en la pestaña Días no laborables en la página Configuración. De forma predeterminada, los calendarios están preconfigurados con los Días festivos, para que establecer los días no laborales te sea más fácil. Una vez los días no laborales establecidos en el calendario terminen, los desencadenadores se ejecutarán según lo habitual.
Para aplicar una restricción a tus desencadenadores, debes seleccionar el calendario que prefieres del menú Restricciones de días no laborables al crear un nuevo desencadenador o modificando uno existente. Puedes seleccionar un único calendario para un desencadenador. Ten en cuenta que editar un calendario en la pestaña Días no laborables también afecta a los desencadenadores que ya tengan ese calendario seleccionado en el menú restricciones de Días no laborables.
Añadir y eliminar días no laborables se auditará en el ámbito de tenant.