cancel
Showing results for 
Search instead for 
Did you mean: 

Problema Schedule

Hola como están?

Quería compartirles el problema con el que me encuentro para el cual quizás alguno conozca una solución.

En un cliente tenemos una sola licencia, entonces cuando un proceso se encuentra en ejecución y por el schedule debería ejecutarse otro, lo ignora.

El problema esta en que esa otra ejecución no queda en cola y si no se detecta y ejecuta de forma manual, nunca se va a ejecutar.

Muchas gracias.

------------------------------
Pedro Nicolás di Fonzo
Developer
EDSA
Tandil
------------------------------
8 REPLIES 8

John__Carter
Staff
Staff
Hola Pedro - I'm afraid I don't speak Spanish and Google has translated for me.

If you have 1 license then it means you can only run 1 process. You can create many processes but you cannot run more than 1 at the same time. If there is already a process running when the scheduler wants to start another process, then the license limitation will prevent it. The scheduler does not really queue executions but it does have the ability to recover schedules that were recently missed.
5629.png


------------------------------
John Carter
Professional Services
Blue Prism
------------------------------

Ana_IsabelFuent
Level 2
Buenos días:
Entiendo que te refieres a que solo tienes una maquina, con una licencia.
Entonces, al estar ejecutándose un robot, si hay otro schedulizado pero se ejecuta el primero no va a lanzarse a no ser que midas tiempos o lances cada X tiempo el otro proceso.
Es decir, si tu robot se pasa 30 min de su Scheduler , y tiene que lanzarse otro robot después , que el segundo robot se lance cada 15 min.
Es una solución un poco cutre, pero así no tienes que lanzarlo manualmente.
Sino, medir tiempos y dar espacio entre ejecuciones por si hubiera problemas.

Un saludo

------------------------------
Ana Isabel Fuentes Navarro
Analista Desarrollador RPA Senior GesNext
Europe/Madrid
------------------------------

Buenos días Ana.

Esa es la solución que estamos utilizando actualmente, pero quería saber si estaba pasando por alto alguna configuración que pudiera ser mas practica.
Seguiremos trabajando de esta manera

Muchas gracias por la respuesta.

Saludos.

------------------------------
Pedro Nicolás di Fonzo
Developer
EDSA
Tandil
------------------------------

LuisHernandez
Level 2
Para estos casos es posible encadenar la ejecución de procesos, es decir, que se ejecute el proceso 1 y cuando termine, ejecute el proceso 2 de forma inmediata o bien, puedes poner un lapso de tiempo intermedio para esperar la ejecución del segundo. Si esto te funciona lo puedes configurar en el scheduler creando diferentes tareas.

Espero que sea de utilidad, saludos

------------------------------
Luis Hernandez
Developer
Minimalist
America/Mexico_City
------------------------------

Esa es una gran idea! Ya la aplicamos para otros procesos que están relacionados entre si.

También lo utilizamos para indicar el login y el logout de la maquina antes y después de ejecutar el proceso respectivamente.

En este caso tenemos un schedule de un proceso que debe ejecutarse cada 4 horas , pero en un horario cuando la ejecución se hace mas extensa, se superpone con otro proceso el cual tiene un horario especifico para su ejecución.

Lo unico que se nos ocurre hasta el momento es frenar por horario las transacciones un rato antes de la ejecucion del segundo proceso.

Muchas gracias

------------------------------
Pedro Nicolás di Fonzo
Developer
EDSA
Tandil
------------------------------

PabloSarabia
Level 11
Buenas,

Tuvimos exactamente el mismo problema en mi compañía. Al final, como los procesos se acaban dilatando en el tiempo algunos no llegaban a ejecutarse nunca.

La mejor solución que encontramos en ese momento es desechar por completo el Schedule propio que tiene interno y montar un único proceso ciclico que nos avise cuando falla.

Te ilustro con una imagen para que entiendas mejor:

Es un proceso que se ejecuta en bucle cada 30 minutos. Tiene controles para que si da en algún proceso tres fallos seguidos pare y avise "al humano" para que se revise.

Los bloques rosas son para guardado de logs.
Los azules serian cada uno de los procesos individuales que se llamarian.
y los amarillos para control de errores o ejecución de procesos ajenos a la ejecución principal. (Borrado de temporales... mantenimientos de BBDD....)
5630.png

Como mejora extra pusimos "variables de sesión" por si en algun momento tenemos que tocar algo del proceso evitar el pararlo y rearrancarlo en la Control Room. (Un ejemplo de esto por ejemplo es el número de "acciones" que quieres que ejecute o si quieres que haga una parada controlada cuando acabe de tratar algo para evitar dejar cosas a medias.


Espero haberte ayudado. Cualquier cosa, comentanos.


Un saludo,
Muchas gracias.

------------------------------
Pablo Sarabia
Programmer
Altamira AM
------------------------------

Nosotros para subsanar ese problema dejamos el schedules en cascada y así cada bot comienza después de que termina el anterior, independientemente del tiempo que se demore
5631.jpg


------------------------------
Carlos Rojas
Ingeniero de sistemas
Indra
America/Santiago
------------------------------

Hola Carlos, 
 
Nosotros también pensamos en su día en esa solución, el problema es que si uno de los procesos del Schedule deja alguna máquina bloqueada o en warning el resto de procesos después ya no se lanzan. No se si existe una solución mejor para esto. Entiendo que Blue Prism debería permitir una lógica más inteligente para la asignación de procesos a robots disponibles en base a ciertos parámetros. Creo que con IADA en Cloud esto ya es posible pero no estoy seguro.

Un saludo

------------------------------
Javier Riesco
Project Leader Consultant
everis
Europe/Madrid
------------------------------