cancel
Showing results for 
Search instead for 
Did you mean: 

Probleme mit Resource Pools, es werden nicht alle Prozesse im Scheduler auf den Pools ausgeführt

RobertRoginer
Level 6

Hallo zusammen,

vielleicht liegt es an Blue Prism, vielleicht habe ich auch einen Fehler irgendwo gemacht.
Fakt ist, es ist teilweise komisch und vielleicht hat ja jemand eine Lösung oder Idee.

Wir wollten bei uns im Hause Resource Pools testen, also habe ich einen kleinen Prozess programmiert, der einfach nur einen Utility-Sleep hat, den ich als Start Parameter mit gebe. Teilweise haben wir 2-3 RR Maschinen für Tests zu einem Resource Pool miteinander verbunden.

Ich habe auch einen Scheduler erstellt, der einfach nur Login, den Warten-Prozess und Logout beinhaltet.

Was aufgefallen ist: den gleichen Scheduler hintereinander mit Run Now zu starten (also fast zeitgleich) funktioniert nicht.
Wenn ich den Scheduler clone, habe ich 3 mal gemacht, damit ich schauen kann das der gleiche Prozess sich auf 3 Maschinen einloggt, wartet und wieder ausloggt.

Dabei ist es sehr oft vorgekommen (bei einem Pool von 2 RR), dass nach Login der Maschine auf einmal eine der Resourcen die Verbindung verloren hat, sprich "not connected" angezeigt bekommen hat, während andere Maschinen sauber gelaufen sind.

Bei einem Pool von 3 hatten wir "IMMER" das Problem, das zwar auf allen 3 Maschinen der Login Prozess durchgeführt wurde, aber nur 2 Maschinen den Warten Prozess und den Logout Prozess durchgeführt haben:

5038.png
Wir wollten auch schauen was passiert wenn mehrere Scheduler, die Anzahl der Maschinen im Pools übersteigen. Sprich 6 Scheduler zur gleichen Zeit, oder kurz hintereinander gestartet werden:

5039.png
Die Scheduler warten nach dem Login 60 Sekunden, führen dann im Warten Prozess einen Sleep aus( für 60 Sekunden) und Loggen sich wieder ab mit dem Logout Prozess
5040.png
Unter Systems-->Scheduler wurden diese Einstellungen durchgeführt, diese führten zu keinem Ergebnis:
5041.png
Teilweise wurden die Prozesse, wenn man alle 6 gleichzeitig gestartet hat, auf Pending gesetzt, verschwanden dann aber aus dem Control Room wie aus Geisterhand?

Wir haben auch versucht einen Scheduler zu schreiben, der alle Prozess in einem Schduler beinhaltet, weil es so aussah als wenn das funktionieren könnte:
5042.png
5043.png
Dies führt aber dazu das keiner der Prozesse gestartet werden:

5044.png
Denn die Login Parameter kann man nicht eintragen, diese werden immer nach der Eingabe und dem Save Button herausgelöscht, genauso auch im Wurzelelement  Warten und Logout. 
Nur unter dem Pool Element kann man Parameter eintragen, dies führt aber zu keinem Ergebnis:
5045.png
Was kann das Problem sein, dass nicht alle Prozesse im Scheduler ausgeführt werden, oder dass die RR auf einmal Offline sind? Was muss man einstellen unter Systems->Scheduler, damit die Prozesse auch hintereinander laufen können? Und warum kann man nicht in einem Task, beim Scheduler, mehrere Prozesse hintereinander abarbeiten?






------------------------------
Robert Roginer
RPA Modeller
Mainova
Europe/Berlin
------------------------------
8 REPLIES 8

Walter.Koller
Level 11
Hallo Robert,

Support Center | Blue Prism Portal ... 
"If tasks are assigned to a Resource Pool then tasks may run against Resources which are either not logged in, or which may be offline and not ready to receive work. This will cause the tasks to fail, and potentially cause the Schedule to terminate.
We therefore do not recommend running processes which rely on Login Agent via a Scheduler against Resources in a Resource Pool."

Schedule to terminate... wäre der Fall in dem der Wait Prozess nicht ausgeführt wurde. Das sieht man aber leider nicht in der Übersicht sondern nur im Activity Report.

Wir verwenden im Moment keine Pools aber soweit ich mich erinnern konnte, haben wir versucht Logins direct an die RR in einem Pool in einem Schedule zu schicken, aber das scheint prinzipiell nicht zu funktionieren. (Die RR werden ja von BP verwaltet und da sollte man auch nicht dazwischen funken). 
Ein Pool sollte sich auch nicht um Login/Logout kümmern müssen sondern nur um die Verfügbarkeit der RR, in der Annahme dass halt alle RR up, running und eingeloggt sind. 
Ein Pool kann somit als homogene Arbeitsumgebungen angesehen werden und sollte nicht von (unterschiedlichen) Logins abhängig sein. 

Ich würde die Tests noch einmal wiederholen wenn alle RR angemeldet sind.
Bei den Schedules würde ich zwei Tasks reinhängen, zB 2x Wait Prozess, mit 15 Sekunden Pause nach dem ersten. 
Für diese Prozesse würde ich einen Text Input Parameter definieren und logging einschalten und im Schedule den Namen des Schedules übergeben.
Damit sollte im Session Log ersichtlich sein auf welcher RR welcher Prozess gelaufen ist.
(Zwei Tasks im Schedule, damit BP theoretisch den 2. Task auf einer anderen RR ausführen kann.)

Ohne den Login/Logout Prozessen sollte auch das merkwürdige Verhalten (pending etc) nicht mehr passieren. Oder zumindest wissen wir dann dass es nicht an den Login/Logout liegt 😄

------------------------------
Walter Koller
Solution Manager
Erste Digital / Erste Group Bank
Europe/Vienna
------------------------------

Hallo Walter,

ja das mit den Activity Report haben wir auch gestern entdeckt (Obwohl wir schon seit über 3 Jahren damit arbeiten ist es wohl noch niemanden aufgefallen :D).
Zumindest testen wir gerade ausgiebig, weil wir auch einen neuen Kollegen haben und da natürlich einiges ausprobieren und testen wollen.

Warum benutzt ihr nicht Resource Pools? Sollte ja eigentlich fast nur Vorteile haben.
@blue prism Schön wäre es wenn man im Scheduler sagen könnte das wenn zum Beispiel ein Task abbricht dieser auch auf der gleichen Maschine weiter machen sollte mit dem nächsten Task. Wir haben einige Tests durchgeführt. 
Unsere Erkenntnis ist bezüglich Resource Pools:
- Man kann nicht den gleichen Scheduler zur selben Zeit lauefen lassen, der muss vorher geklont werden, dann hat man 2 gleiche und das funktioneirt.
- Wenn man Login, einen Prozess und Logout, also 3 Taks in einem scheduler hat dann führt er diese unter umständen auf anderen Maschinen aus (Wie du schon sagtest Walter).
Das mit dem Pending, die landen dann wenn die nicht laufen im Activity Report, mit der Meldung war busy weil Pool beschäftigt. @blue prism Naja schön wäre es natürlich gewesen wenn man das im Control Room auch sieht und nicht im Activity Report.

Wir werden es wahrscheinlich so machen:
Da wir einmal am Tag einen Neustart der Maschinen machen (einfach um mal den Cache und offene Programme komplett zu killen), werden wir nach dem Neustart einen Login machen. Und dann einfach Scheduler erstellen mit den einzelnen Prozessen als einzelne Tasks. Da manche Prozesse mehrere kleinere Prozesse beinhalten, werden wir die kleinen Prozesse alle in einem Main Prozess hintereinader ausführen.



​​

------------------------------
Robert Roginer
RPA Modeller
Mainova
Europe/Berlin
------------------------------

"Warum benutzt ihr nicht Resource Pools? Sollte ja eigentlich fast nur Vorteile haben."
Bei uns sind die meisten Prozesse Laufzeitumgebungsabhängig. Dh. für einen bestimmten Windows User mit bestimmten Anwendungen (und deren Einstellungen).
Pools sind eher dazu gedacht in einer homogenen Umgebung gleiche (gleichartige) Prozesse parallel auszuführen, wo man vorher nicht genau sagen kann wo was wann laufen kann. Das ist bei uns sehr selten der Fall. 
Bzw haben wir Abhängigkeiten zwischen den Tasks (1. Datenaufbereitung / DQ, 2. Verarbeitung) die eingehalten werden müssen.

Deine Anmerkungen klingen sehr gut. Bitte mach dazu Einträge im Ideenportal, meine Stimme hast du 🙂



------------------------------
Walter Koller
Solution Manager
Erste Digital / Erste Group Bank
Europe/Vienna
------------------------------

Hallo Walter,

wo finde ich denn das Ideen Portal.
Da gibt es einige Ideen die ich habe :D, wie zum Beispiel mehree Environment Variablen löschen, das geht auch nicht 😄

Ja wir haben auch Prozesse die Datenaufbereitung und Verarbeitung haben. Aber wenn man die in einen Main-Prozess direkt hintereinander ausführt hat man ja nur einen Prozess. Die Verarbeitung geht ja nur wenn Daten vorhanden sind. Sprich, wenn die Datenaufbereitung schief geht, kann er ja sowieso nicht s abarbeiten. So haben wir das teilweise gelöst. Dadurch kann er dann auf egal welchem Resource Pool laufen. Aber wahrscheinlich habt ihr soviele Daten das die alle Parallel abgearbeitet werden sollten, wobei da würde theoretisch auch gehen wenn man auf die gleiche Queue zugreit, vermute ich mal...

Aber danke für den Tipp. Für mich ist es immer interessant und wichtig zu wissen wie andere Konzerne ihre Probleme lösen.

------------------------------
Robert Roginer
RPA Modeller
Mainova
Europe/Berlin
------------------------------

Hallo,

Das Ideen Portal ist hier:
Share an Idea - Blue Prism Community Site
bzw kommt man auf der Community Seite im Top Menü über den Punkt Innovate hin.

Gedanken- und Erfahrungsaustausch ist immer gut. Es gibt unzählige Ansätze, Ansichten und Überlegungen wie RPA aufgebaut sein könnte/sollte und wie man Herausforderungen begegnet.  Und für jeden gibt es eine eigene "beste Lösung" für Umsetzung und um Herausforderungen zu begegnen. 
Also auf gar keinen Fall abschrecken lassen, dass wir bei uns keine Pools verwenden. Für euch kann es genau das Richtige sein 😉

------------------------------
Walter Koller
Solution Manager
Erste Digital / Erste Group Bank
Europe/Vienna
------------------------------

Hallo Walter,

habe jetzt mal ein paar Ideen in dem Portal wie du sagtest hochgeladen, auch die hier aus dem Thread:
Idea Details - Blue Prism Community Site

Habe aber auch noch die Ideen:
Idea Details - Blue Prism Community Site
Idea Details - Blue Prism Community Site

(Keine Ahnung warum er beim einfügen die Kürzung vornimmt :D)
Also, fleißig voten 😉

------------------------------
Robert Roginer
RPA Modeller
Mainova
Europe/Berlin
------------------------------

erledigt 😉

------------------------------
Walter Koller
Solution Manager
Erste Digital / Erste Group Bank
Europe/Vienna
------------------------------

Danke 🙂

------------------------------
Robert Roginer
RPA Modeller
Mainova
Europe/Berlin
------------------------------