Skip to main content
Hello,

 

I would like to chain somw workspace and I use this idea to create a workflow:

 

http://fmepedia.safe.com/articles/How_To/FME-Server-Workflow-Management

 

 

For the current problem I managed to bring down to a real simple workflow:

 

1. Workspace: Read form ESRI Shapefile, buffer and write the new Shapefile to an UNC-Path folder.

 

--> Upload the workspace to the FMEServer

 

--> Run the Job on the Server

 

--> the Shapefile is written to the desired location OK:

 

"Opened Shape File \\\\mars\\geo\\91_Geodaten\\4_Abgabe\\FMEServerTestSimple_MARS\\out\\clip_perimeter_buffer.shp for output"

 

2. Workspace: Use the FMEServerJobSubmitter to run the Job

 

--> Run the Workspace local

 

--> the Shapefile is written to the desired location OK:

 

"Opened Shape File \\\\mars\\geo\\91_Geodaten\\4_Abgabe\\FMEServerTestSimple_MARS\\out\\clip_perimeter_buffer.shp for output"

 

3. Workspace: Use the FMEServerJobSubmitter to run the Job

 

--> Upload the workspace to the FMEServer

 

--> Run the Job on the FME Server

 

--> The shapefile is written to to a local file on the FME Server instead to the desired UNC-Path, NOK:

 

"Opened Shape File C:\\Users\\FMEENG~1\\AppData\\Local\\Temp\\FME_FMEServerTestSimple_ShapeToBufferShape_1405676761634_8384\\SHAPE_2\\out\\clip_perimeter_buffer.shp"

 

 

The workspaces to download:

 

https://www.dropbox.com/sh/dbbm6jeyr47rmtw/AAA8YSsf5mQEkkvURRQnmoTVa

 

 

I use FME Server 2014 SP2.

 

 

Any idea why this not work? Any workaround?

 

 

Hello. Does the third workspace have a dataset fanout? Or is it writing to a location that fme server does not have permission to write to? Owen
Hello.

 

 

Point 1, I upload the Workspace to the FMEServer and run the Job. The Server writes the shapefile to the desired path --> The FME Server do have permission to write to this location.

 

 

Point 2+3 is the same workspace. Ones started local and ones started as Job on the FME Server.

 

 

What is the difference to start a job from outside(local Workspace with FMEServerJobSubmitter) then from "inside"(Workspace on FMEServer with FMEServerJobSubmitter)?
I think the OutputDirectory parameter in your WorkspaceFMEServerChain workbench may be the problem. You are writing a shapefile which means you need to specify a directory, but you've got: OutputDirectory,\\\\mars\\geo\\91_Geodaten\\4_Abgabe\\FMEServerTestSimple_MARS\\out,InputShape,\\\\mars\\geo\\91_Geodaten\\4_Abgabe\\FMEServerTestSimple_MARS\\clip_perimeter\\clip_perimeter.shp as your output location.

 

 

Take off the clip_perimeter.shp at the end and I think it might work.

 

 

Good luck! 
Well, and you will like this! FMEServerjobsubmitter doesn't pay attention to the file path you set within the parameter and writes the data to a local temporary location (if it is a file).

 

 

So in my case the destination text file is not written to the place I specified (e.g. C:\\Temp\\ProjectCentre). Instead it is written to the temporary location

 

 

 

I was told it causes some debate at Safe. What you actually need to do is have a look at the 'output_dataset{}' list coming out of fmeserverjobsubmitter. That will tell you were the file is and you could use the filecopy writer to put it somewhere else, or you probably could make that parameter private in the child workspace (I presume), so that FMEServerJobSubmitter doesn't even know it is there
I got it from the support team at Safe when I queried it a few months back. Funny enough, I only stumbled on it, as I was implementing a workaround for a bug that was in SP1.

 

 

Its not a bug, but I haven't thought of a reason why it is useful yet

 

 


Hi All,

 

Allow me to provide a bit of an explanation from Safe and apologize for any awkwardness here.  The output from a child workspace run by the FMEServerJobSubmitter in WAIT mode does now write output to a temporary directory rather than the path in the child. This was done on purpose so that we could provide attributes on the output from the FMEServerJobSubmitter in the master that point to any output data, for example the output_dataset{} that tdavis mentioned.  Our goal here is to better support chained workflows.  

 

 

We realize that this behaviour is not ideal, that sometimes you want the child to write data where you set to write.  Therefore we have an open development issue on this at Safe. We want to make these kinds of process or chained workflows easier and we working hard on this now.

 

Ken Bragg
Hi sbaktzg,

 

No it doesn't look like this behaviour of the FMESeverJobSubmitter is properly documented. I'll follow-up on that.

 

Thanks for pointing this out,

 

Ken
Is there a way to change this default path?

 

Is is already know when this issue will be resolved or made more transparant?

 

Rob

 

 
I received news from FME support last week:

 

Just to let you know we have updated the FMEServerJobSubmitter in FME 2015 which is available for beta download here. The latest addition will help with your workflow as it allows you to get at the data which is produced in the child workflow.

 

 

 

There's now a new option in the transformer, called 'Output Data Location'. The available options are 'Temporary Folder', and 'As Specified in Workspace'. The default value is 'Temporary Folder'. When authoring workspaces for workflow management, use this option to control whether or not output data from child workspaces are written to a temporary folder, or written to the location as specified by the workspace.

Reply