Should I use init all applications when 2 applications need to run in sequence?

I’m new to Reframework and I believe I need to use Statemachine to solve some complex syncing on Enhanced Reframework. Currently, I am initializing 2 custom windows MFC applications in the workflow, and from my understanding, this is not best practice and maintainable.
Question: Let’s say I have 2 desktop applications which need to be used in sequence.
So application A, runs then closes, then I have application B, runs and closes. THEY ALWAYS need to be run like that, so should I still try to run them from init all process and somehow turn off as needed?

It would be better if you close the app only when you’re finished to save loading time and computational power of the machine.

Initialize both application on Init then use attached window/browser when you need to navigate on the respective application. End both application when you don’t need to use the application anymore.

2 Likes

Hi @danielvianna

This depends on what you are trying to do.

Is the process that involves application 1 only working with that application? I mean does it require any tasks to be done in application 2?

And when working with app 2, do you need to access app 1 then and there to get the data you need?

If you need, and if your scenario is like copying data from one system to another one item at a time or something, then you might need them both open.

However is the processes are independent from each other, you can have two separate REFramework solutions for each application and run them one after the other in the sequential order you need

3 Likes

Hi @danielvianna

It’s fine to initialize Two application at a time, You just need to call it when you need it. Just like @jayson.actimai said and kill the process once done using the application.

cheers :smiley:

Happy learning :smiley:

1 Like

hey @Lahiru.Fernando

Is the process that involves application 1 only working with that application?

I’ve done all hardcoded in 1 process with 2 flow graphs using reframework tabular data version, now I’m thinking on moving to the enhanced framework because I need to move the data out of the spreadsheet and integrate another automation suite - cypress JS

“And when working with app 2, do you need to access app 1 then and there to get the data you need?”

No. I don’t need any data from app 1 or 2. App 1 and 2 only need that from the spreadsheet or data file, but they need to work in sequence.

I will explain better with a “fake example”:
Let’s say I sell custom clothes online. Once the sales is done, I have data in a spreadsheet which will configure physical machines in a factory to produce those clothes.

App 1 - Decides whether it’s going to be “shirt or jacket or hat”. That is in the first column of my data. I chose “shirt”, so the sewing machine spits out a shirt.

After that a shirt is created sent to print machine.

App 2 - There are several columns that will define print color, font style and content. The App 2 reads the 3 columns which are " print color red, font cursive and “GO Chicago Bulls”. The print machine prints on top of the shirt those things. <app 2 needs to be closed now>

In that sense I cannot run App 2 if the job on 1 was done and closed.

The only thing I will have to do in terms of generating that after that is that app 2 generates a “shirt product stock number” on the GUI, which I will scrap then send to another app outside UIpath. I need to trigger another automation which inserts that shirt number into a web portal using cypress which will insert the shirt into the customers account as a job complete. You might ask why not doing everything in UIpath? For development debugging reasons, cypress is way faster and helpful for developers to debug web problems.

My biggest problem now is that even before trying to integrate UIpath to cypress, the process is a little unstable, sometimes APP 1 fails then UIpath forces a retry and the application without killing the failed one, ending up with multiple screens of the app 1 opened until the windows will eventually crash - I’m triggering the job via orchestrator API.