I was wondering if there is some activity that allows you to optimize the executing of a transaction in UiPath. I know that I can use multiple robots, but I still need to make the transaction time smaller for each one.
Basically, my process scraps data from 2 tables of a web page, make some variables manipulation and insert into a MySQL Database with Query activity.
Is there a way that I can make some parallel execution in scrapping or data manipulation, for example? This process is taking me 11 seconds, if I could achieve something like 7 or 8 seconds it would be perfect.
I have been reading about parallel activity, but it didn’t get me an improve on the time execution.
Parallel activity only runs activities during the wait period of another, but they’re not truly paralell in the sense that they are run simultaneously.
With datascraping, here are some tips for optimizing the time to scrape:
1.) Don’t use the Next Link Selector: Instead, use two Element Exists activities in parallel with a shortened timeout period (this will take experimentation). The first looks for the next page icon, and if it exists, click the link and continue scraping. The second looks for an icon or selector that only exists if there are no more pages (e.g. the next button with an attribute only set when it’s disabled). Here, you set a variable saying that there is no more data so you can exit the data extraction loop.
2.) Shorten your timeouts: Anywhere you reasonably can, use a smaller timeout. This includes DelayBefore, DelayAfter, Timeout, and DelayBetweenKeys. Be careful with this, and be sure that your delays do not introduce errors.
If you do this, the bot will be busy most of the time, rather than waiting. This will improve performance. There is not a built-in way for running processes in true parallel without writing VB.Net code. I imagine that this is to prevent having a single bot do the work of multiple bots, but I’m not 100% on that reason.
Awesome tips, @Anthony_Humphries, they will certainly be useful. However, for the first one, I don’t have multiple pages data scrapping (but thank you for the advice). For the second point, I will work on that. If any other idea comes to mind, let me know!