Hello everyone. I have attempted to put together a very simple chained application, and it works perfectly when run it on my local machine (where the developer Alteryx is located at), however after I save the workflow to the server and attempt to run it, it is failing with the error Error creating the file C:\ProgramData\Alteryx\Service\Staging\3504_92cce35b50ff44d7ae167d0bed22e82b\exampleNotWorking.yxdb": Access is denied.
Attached is the workflow. In the core workflow I pointed all of the files to a folder path of I:\projects, however when it is moved to the server I believe it is changing these paths to relative paths on teh C drive somehow... I would greatly like to understand how and why the server does this.... Anyways here are the exact steps I am taking to publish this workflow to the server.
#1) Click File > Save As
#2) Choose our companies gallery from the Dropdown
#3) I leave the default selection of the workflow assets grouping.
If no one knows the exact reason this error is happening, could anyone point me into some documentation as to how workflows that are published to the server work; relative to file paths being changed? I have noticed that after I go through step #1-#3 above, the workflow that I have open on my developer machine has all of it's paths changed and the paths are completely removed.
For Example: At the end of workflow #1 I am writing the I:\Projects\Brandon\AlterYX Workflows\Data Edit Checks\User Interface\exampleNotWorking.xydb file. however when I save As this workflow to the server this path gets removed and the file simply becomes exampleNotWorking.xydb. I am guessing the server does something with relative pathing on all of it's connected workflows, but I would like to read some documentation on this so I can better understand this! :-)
Thanks everyone.
Solved! Go to Solution.
Hi,
I would suggest that in system settings you set the 'Run As' in the worker node with your credentials. This should circumvent the Access Denied issue.
The paths more than likely change because the server does not recognize or find that drive (I) so it shortens the path to find the externals folder which is created when you upload the workflow as a package to the server.
Best,
Jordan Barker
Client Service Support Engineer
When you say system settings you set the 'Run As' in the worker node with your credentials do you mean the settings on the AlterYX server? if so this is already completed.
We have the server set up to run as a service account which is an admin the server, and has rights to all of the drives we need... If this is not the setting you are referencing please let me know :-)
I actually asked this question to an AlterYX support community and they just responded that Chained Apps apparently can't be run on the server at all.... However that response doesn't seem correct as I can get the above chained app to work correctly if I use hardcoded UNC paths...
As to your second comment, this would make sense... However if you don't use UNC paths it seems like the server also changes the paths as well. For example: if I hardcode a path of C:\AlteryxFolder (a network path thats on the server) and then export that worfklow to the server, it still changes the paths......
Do you happen to know if when you export a workflow to the server, and user A runs the workflow, it launches in a unique C drive loaction (the one that errored above)... Then if another user launches the application it gets its own C drive folder (a different named one) in order to allow concurrency of application workflows? My thought was this is the reason for the changing of the paths for Exported files.... This way if two workflows opinted to the same folder of "c:\alteryxFolder", the server would instead make them point too C:\ProgramData\Alteryx\Service\Staging\SOMEPATHHERE\ that way if person A ran the program then person B wouldn't overwrite their data file?
Just spit balling here as I truly don't understand how workflows exported to the server work in general, and that understanding would help with this problem I believe :-)
Yes you are completely right with the 'Run As' set up!
In terms of the chained apps you have to attach all the assetts from the consecutive workflows to the first workflow. You can find how to do this here.
I know were are going to be speaking internally to address the rest of your questions but I will posting a full solution to this post once we have concluded that conversation.
Best,
Jordan Barker
Client Services Support Engineer
Hello JordanB. Thank you for the continued help, and I appreciate the extra assistance. Just as an FYI for you, I actually know WHY the code is failing now conceptually. It turns out you can't (by default) have a chained analytic app where the First app writes to a yxdb file, and then the second app reads from the first yxdb file (unless you hard-code the yxdb file to a UNC network path). I have no idea how to fix this problem so your extra help is very appreciated... This error kinda implies you can't run chained apps on the alteryx Gallery and have them share data (without a work-around hopefully!).
Anyways here's what I witnessed when running my app. I added some wait times into the apps of 10 seconds each and found this is what happens.
Step #1) when the first app is called and created, a temporary folder path named C:\ProgramData\Alteryx\Service\Staging\3504_92cce35b50ff44d7ae167d0bed22e82b is created, and the first yxdb file is written to this folder path (in a sub-folder called externals).
10 seconds later.
Step #2) the first chained application is then ended and completed... when this happens the temporary folder above is completely blown out and removed...
Step #3) The second application is launched, and another new folder gets created in staging (with a different name) like C:\ProgramData\Alteryx\Service\Staging\7205_92cce35b50ff44d7ae167d0bed22e82b.
Since this application is trying to read the first yxdb file it fails (since that file was part of the first folder that has already disappeared).
As such it appears that without your additional insights, and without writing to a permanent File location (UNC path) there isn't a way to pass data between chained applications run through the Gallery. Also sadly the UNC path isn't a solution since you then have concurrency issues with multiple users running the application on the server (writing to the same file).
I hope that additional information helps in your design of the solution to this problem! :-)
I was able to work with the AlterYX engineer department to solve this problem. It turns out it was a problem with the way the permissions on our server were set up.
If anyone else is runnning into this problem; please note the following:
If your server is set up to have alteryx run under a service account (like ours way), make sure you ONLY specify to run it under the service account in the Alteryx Windows Service. Do not also set the "run as" option inside the alteryx configuration, as having it set to the same account in both places caused the problem I was seeing.
Hope that helps someone in the future! :-)
Hi @bsharbo,
I think I am experiencing this problem. What do you mean by Alteryx Window Service?
Thanks,
Chris
Can someone elaborate on what the Alteryx Windows Service vs "Run as" means? I am receiving the same error message.