I'm having some trouble with a chained application which has 5 parts and getting it to work they way I want.
This app may end up being used by a large number of people and at the moment I have it working with files stored on a separate drive. However I can envisage a situation where two people try and run something at the same time. Meaning those files stored on that drive will updated by the second person while the first is still running through the app.
How can I make it so these files are unique to each run. I've tried uploading only the outputs when I upload the first app.
However when I upload the apps, I get an error saying that a couple of those outputs are not found in the D:\ drive when they are then used in the fifth and final part of the apps.
I also noticed that the above list only shows the inputs/outputs for the first app and not for the subsequent four parts, how can I change this?
So how can I upload these 5 apps to the server and make sure that two runs at the same time won't interfere with one another while still getting updated inputs in the first part. And how can I control the inputs/outputs that are uploaded for each of the other four parts.
Solved! Go to Solution.
Hi @Lbunce
When a job is executed on Gallery, a unique workspace directory is created where temp files are processed through. When chained app are ran, all of the links (in the chain) will continue working within the same workspace. This would allow you to have one app output a file to the workspace in which the next app can pick up. Since all this is done within a self contained workspace, the app can be ran at the same time without worrying about the results bleeding into another users job.
I don't know what your apps are designed to do on each chain, but the general setup would be to have the first app read in the data from your network share and then output a file to target the workspace (e.g. ".\output1.yxdb"). On the next app, the Input tool's file path would be configured as ".\output1.yxdb" which again will look for that file within the workspace. And you continue with this type of setup on your remaining apps.
The important thing to remember is that outputting data to a common file that is not designed to access by multiple people at the same time (i.e. Excel) is going to be troublesome so if the end result of your chained process is to update a network file, this approach will not solve your issue. What it would solve is the data transition from one app to the next.
app building guidelines help article does also speak to this and also provides some other helpful tips to consider when building an app that's intended to be published to a Gallery.
I'd be happy to look over your chained app process if you're able to package it up and share (no data needed) here or DM.
Hope this helps!
Jimmy
Teknion Data Solutions
Hi @jrgo ,
Thanks for your help on this, I changed all the input/outputs to be .\ as you suggested and I was able to upload the chained apps to the gallery.
With the way we want this to work, the end results are emailed out and are not stored on a network drive. The only time a network drive is used is in some of the initial inputs. Otherwise all the datasets between applications should be unique to each run.
However, now that it's on the gallery I am getting a separate error relating to access.
I'm going to open that as a new post as you have solved my initial query.
User | Count |
---|---|
6 | |
2 | |
1 | |
1 | |
1 |