Utilise Idle time of a Bot

Hi Experts ,

Process :
I have a Process where my bot have to fetch 5 reports from a system.
Sometimes the report is small. so the bot run quickly and the Process is completed.

But sometimes, the data is more , so the report is taking time to get extracted. This is un-predictable which report will take what time.

It is like,
Report 1 takes 10 min
Report 2 takes 2 Min
Report 3 Takes 15 Min.

My Concern -
When Report 1 is taking 10 min to execute, the bot is idle , I want to utilize the same bot to extract report 2 and 3 and so on.

Basically I want the same bot to have multiprocessing.

I do not want to create 5 bots for 5 since the working is same for all Reports.

Please suggest !!

@mukeshkala - As per my understanding you would like to run all the 5 reports in one single machine? Am I correct ?

This can be done sequentially, when the First Report completed then it goes and process the Second Report and so on.

How it has been designed now? Is the each report flow running in each machine?

Thanks,
AK

@AnandKumar26

Yes , I have a flowchart having one sequence after another. All sequences are independent .

I wanted , if sequence 1 is taking more time , bot should start sequence 2 parallelly without waiting for sequence 1 completion.

Or in other words , I want to execute 5 sequences parallelly.

I’m trying to undestand your requirement here.
Is your robot input something to generate report 1 and then wait for 10 min for the report to complete or your robot need to keep doing stuff for the whole 10 min?
if the robot is waiting, is it possible to open multiple windows of the system so the robot can generate other report?
if yes, then sequence of the robot will be:
generate report 1 --> generate report 2–> generate report 3–> check each report for completion status–> download the report that has finished–> keep checking for report status until all report is downloaded.

let me know if it’s unclear.
also can you mention the system you use? is it web based?

Good luck.

Hi @mukeshkala

Have you thought about the Parallel activity which can be used for processing stuff parallel to another? I guess this can be used for your scenario here to download all the files parallel to each other without the wait time.

Have a look at these posts for some clarity on the activity

Okay. That can be done easily. If you know the approx time or completion status of the each process, then you simply put an If condition to check whether the status inprogress and the time is greater than approx time then invoke the second process. Repeat this for the rest of the processes.

Thanks,
AK

Is your robot input something to generate report 1 and then wait for 10 min for the report to complete or your robot need to keep doing stuff for the whole 10 min?

NO The Robot Does not require any Input , All the Processes are separate Sequences.

I have 5 reports , all web based , I have 5 separate sequences for each process.

The time taken to extract each report is unpredictable , It depends of the Week and client Data . For Some week , report 1 take 2 min ,Same for week 2 report 1 take 10 min .

I have Made the Workflow

Seq 1 --> Seq 2 --> Seq 3 --> Seq 4 --> Seq 5 .

I want to execute all the 5 Sequences parallely.

I have 5 reports , all web based , I have 5 separate sequences for each process.

The time taken to extract each report is unpredictable , It depends of the Week and client Data . For Some week , report 1 take 2 min ,Same for week 2 report 1 take 10 min .

I have Made the Workflow

Seq 1 --> Seq 2 --> Seq 3 --> Seq 4 --> Seq 5 .

I want to execute all the 5 Sequences parallely.

I haven’t use this activity. Let me try and will update you . Thanks :slight_smile:

1 Like

Parallel Activity is something all the process will be started parallel at same time. Since you have raised a condition that, if first process takes time then you would like to trigger a second process. Hence I have given you a solution to give some condition and start the respective process accordingly.

Thanks,
AK

1 Like

Okay
First You need to split the activity between the waiting.
So seq1 become seq1a then the robot wait then do seq 1b.

Do that for all seq.

Then re arrange the sequence into:
seq1a, seq2a, seq3a, seq4a, seq5a,
then the robot wait.
Then do seq1b, seq1b, seq3b, seq3b, seq5b.

The sequence itself is not parrarel. But the waiting is. So it should minimize the waiting time.
Also note that you need to open 5 different browser and you need to identify each sequence with the correct browser application scope.
Hope it helps.