Solved

Errors using FMEServerJobSubmitter


Badge

Hi,

I'm following the tutorial on FME Server Workflow Management, when I try to get the output from the previous workspace ran by FMEServerJobSubmitter using output_datasets{} I'm getting the error:

'SPATIALITE reader: file 'output_datasets{0}.path' cannot be located. Please ensure the file exists and is accessible'

I'm usign FME 2017.0.1.1 Build 17291 and the latest version of FMEServerJobSubmitter, I notice the latest version does not have the option 'Ouput Data Location', according with the help, Output Data Location needs to be set to Temporary Folder .

Thanks!

Update: I need a way to tell the next jobsubmitter the output location of a file.

icon

Best answer by velasquezvictor 11 July 2017, 00:08

View original

7 replies

Userlevel 2
Badge +16

Looks like an issue to send to Support@Safe.com

Badge +11

Just a guess, but if you've got "Wait for Job to Complete" set to "No" then there would probably not be an output dataset available. Try setting "Wait for Job to Complete" to "Yes" (if you haven't already) and see if this helps.

Several of the attributes set by the FMEServerJobSubmitter depend on the value of this parameter and will not be populated if you don't wait for the job to complete.

Badge +2

Hi @velasquezvictor,

 

 

The article that you're referencing was written for FME 2016. The FMEServerJobSubmitter has been updated in 2017 (as you noticed), so you no longer get the list outputs on the succeeded port for output_datasets{}.name, output_datasets{}.format, output_datasets{}.path, which is why your workspace is failing. This is consistent with the API documentation (which is what the FMEServerJobSubmitter uses underneath, I believe).

 

This is something I can clarify for you - that those lists become available when writing to the temp location. I will also make a note that the tutorial that you've referenced needs updating for 2017, or to make clear the changes in behaviour.

 

 

You could try using an AttributeExposer to expose output_datasets{}, and check in the Data Inspector Feature Information Window that they are coming through. Alternatively, if your data is being written out to the resources location on FME Server and you know the file name, you could always replace the output_datasets{} with the known correct output location.
Badge

Just a guess, but if you've got "Wait for Job to Complete" set to "No" then there would probably not be an output dataset available. Try setting "Wait for Job to Complete" to "Yes" (if you haven't already) and see if this helps.

Several of the attributes set by the FMEServerJobSubmitter depend on the value of this parameter and will not be populated if you don't wait for the job to complete.

 

Hi, "Wait for Job to Complete" is set to "Yes" but 'output_datasets{0}.path' is not working.
Badge

Hi @velasquezvictor,

 

 

The article that you're referencing was written for FME 2016. The FMEServerJobSubmitter has been updated in 2017 (as you noticed), so you no longer get the list outputs on the succeeded port for output_datasets{}.name, output_datasets{}.format, output_datasets{}.path, which is why your workspace is failing. This is consistent with the API documentation (which is what the FMEServerJobSubmitter uses underneath, I believe).

 

This is something I can clarify for you - that those lists become available when writing to the temp location. I will also make a note that the tutorial that you've referenced needs updating for 2017, or to make clear the changes in behaviour.

 

 

You could try using an AttributeExposer to expose output_datasets{}, and check in the Data Inspector Feature Information Window that they are coming through. Alternatively, if your data is being written out to the resources location on FME Server and you know the file name, you could always replace the output_datasets{} with the known correct output location.

 

Hi,

 

 

FMEServerJobSubmitter has been updated in 2017 but the current help keep referencing output_datasets{}, just go to http://docs.safe.com/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/fmeserverjobsubmitter.htm and expand Wait for Server Job to Complete.

 

 

I know the file name created by the workspace, but how can I reference this? The location depends of the running job and if the server is under linux/windows, I need a way to reference the file created in the job and use it in the next job, I do not want to create a file in a static location because could have concurrency problem if the job runs twice.
Badge

Hi,

I resolved (with the help of support guys) simply generating the file location within the main job, to keep the path unique across job running I use a UUIDGenerator ansample-chain-jobs.zipd use the parameter FME_SHAREDRESOURCE_TEMP to be able to write the files to a location on Resources on the FME Server to help guarantee that the files are written to a location that any engine would be able to access.

I attache the sample workspace.

Hi @velasquezvictor,

 

 

The article that you're referencing was written for FME 2016. The FMEServerJobSubmitter has been updated in 2017 (as you noticed), so you no longer get the list outputs on the succeeded port for output_datasets{}.name, output_datasets{}.format, output_datasets{}.path, which is why your workspace is failing. This is consistent with the API documentation (which is what the FMEServerJobSubmitter uses underneath, I believe).

 

This is something I can clarify for you - that those lists become available when writing to the temp location. I will also make a note that the tutorial that you've referenced needs updating for 2017, or to make clear the changes in behaviour.

 

 

You could try using an AttributeExposer to expose output_datasets{}, and check in the Data Inspector Feature Information Window that they are coming through. Alternatively, if your data is being written out to the resources location on FME Server and you know the file name, you could always replace the output_datasets{} with the known correct output location.
Hi, do you why the the succeeded and failed port has been removed from the FMEServerJobSubmitter in 2017? Otherwise, you have to use the WorspaceRunner to get the same behavior but this transformer uses another engine in a FME Svr process. It looks like I would have to downgrade, which is a step back. tks

 

 

Reply