Bot completion check

Sanoza

New Member
How to check all the bots are completed with processing from next process.
Lets assume process 1 is doing by n bots.
And process 2 wants to start upon completion of process 1 in all bots.
 

sivagelli

Well-Known Member
You can try using Powershell with AutomateC.exe switches to know the status of process 1. Once the process is completed, you can trigger process 2 from Powershell and AutomateC.exe.

There could be other ways as well.
 

chrifmarwen

New Member
I'll push further @sivageli solution (Solution 1):

1) If you open your Shell command (windows+R, then type "cmd" and click OK) and then go under "Blue Prism Automate", you'll find AutomateC.exe
2) Now if you launch "AutomateC.exe", it will ask you to put /help option
3) With the command "AutomateC.exe /help", i figured out that there is a status command formated like follow :

> AutomateC.exe /status SESSION_ID /user username password (i used sso authentication in my case)

View attachment 1542810276590.png

4) The result of this command output the status of the session that's running

Now the problem is transformed to :
- how you'll shared your session id / or how you'll get them
- how to launch this command from an action stage (maybe there is a Standard action for this one, i'm not sure)

* (Solution 2) Otherwise, if you could estimate how long the process 1; scheduling process 2 after this duration could also be a hint if it's acceptable
* (Solution 3) Other solution is to share a Queue
=> So Process A have a Queue A, all bots will work on this queue and update it on the flow
=> Process B will be launched and check if Queue A has any item that are not processed yet (if yes the exist, otherwise process B will be launched)
 
Last edited:

sivagelli

Well-Known Member
Now the problem is transformed to :
- how you'll shared your session id / or how you'll get them
- how to launch this command from an action stage (maybe there is a Standard action for this one, i'm not sure)

If you kick-off your execution from Command line using AutomateC.exe /run <ProcessName>, it will give you Session Id. Please check this youtube video BP and Commandline
Now, you can look for the Process status periodically and kick-off the other process; thru Powershell program.

You might have to purely rely on terminal without UI.


Solution 3 is another option.
(Solution 3) Other solution is to share a Queue
=> So Process A have a Queue A, all bots will work on this queue and update it on the flow
=> Process B will be launched and check if Queue A has any item that are not processed yet (if yes the exist, otherwise process B will be launched)
 

VJR

Well-Known Member
How to check all the bots are completed with processing from next process.
Lets assume process 1 is doing by n bots.
And process 2 wants to start upon completion of process 1 in all bots.
I am not sure if I fully understand because you mentioned 1 process n bots, but can you not use the Process stage at the end of Process 1 in order to call Process 2? If you are concerned about starting Process 2 after running Process 1 then this could be a solution.
And if you are concerned about successful completion of Process 1 then you can maintain a (True/False) flag variable and at the end of Process 1 read the value of this flag and if it is True only then call the Process 2 using the Process stage. You could also think of having a Session variable.

If there is something more to it then please share.
 

amit1204

New Member
My processA can run on 3 servers and processB tries to trigger it.
When processB triggers processA on server 1 it gives error as server is busy. Then process B has to trigger process A on server 2.
In the above scenario I'm not able to extract the status of process A when run on server 1from powershell using process B so that I should come to know whether to run on server 2 or the process A started running on server 1 .
Please help to find the status of process from BP using powershell.

Thanks
 

jigibaby1

Member
I think you trying to maintain load-balancing. Which ever server/bot is free, it will start execution of Process A and once it's over there is should be some mechanism to pass completion status to Process B which runs on different server.
 
Top