Skip to main content

I have a workspace that runs on FME server and uses a HTTPCaller to call other workspaces. I haven't used FMEServerJobSubmitter because FMEServerJobSubmitter needs to be set to just one workspace which fixes the set of parameters and I have lots of options for which workspace actually needs to be ran depending on earlier results/settings . I'm using a JSONTemplater to put together instructions for the HTTPCaller to run whichever workspace is needed.

The problem is that this uses two engines: the HTTPCaller starts another engine while the original workspace waits for it to complete.

Is there any way to have the option of many child workspaces to run and only use one engine like FMEServerJobSubmitter does when there is only one possible child workspace?

Just to be sure: I suspect you use transact instead of submit on purpose because you need the results in the parent workspace?


Just to be sure: I suspect you use transact instead of submit on purpose because you need the results in the parent workspace?

yes @nielsgerrits, that's right. It's running a series of child workspaces and needs to know that the first one is complete before the second one starts


Hi @ella_s,

The only way to launch child engine processes in FME Server is via the FMEServerJobSubmitter transformer.

If the important part is that you need each workspace to run in sequence, then you could investigate Job Queues.

So in your HTTPCaller you would use the submit request instead - and as long as they are submitted in the correct run time order then if each job is assigned to run on a queue that has only been assigned a single engine, these jobs will queue up and won't run until the one before has finished.

However the thing about this method is that the 'Parent' submission job needs to finish before the next job can be run on that same engine - so if this parent job needs to use information from these completed jobs then this would not be a possibility for you.


Reply