Hello,
I am using a FME Server 2014 SP1 with two engines and the corresponding FME Desktop version. We designed a process, which should trigger other workspaces in a specified order, but the complete process should run on only one engine, which is, according to the tutorial, possible and which I could confirm (see list point #4 below).
For doing so, we have used the FMEServerJobSubmitter Transformer. Actually our process is very similar to the following tutorial (at least in regard to the technical aspects) https://knowledge.safe.com/articles/1413/fme-serve...
Since we are running different services, we need a Job Routing Configuration, which we have realized within the FMEServerConfig.txt:
TM_DEFAULT_TAG=default
TM_QUEUE_TYPE=DEFAULT
# Assign tag
TM_REPOSITORY_2=internalProcesses:internalProcessesTag
TM_ENGINE_1=Host_Engine1:default
TM_ENGINE_2=Host_Engine2:internalProcessesTag
Using this config, every workspace in the the "internalProcesses"-repository gets the tag "internalProcessesTag". Following, the engine "Host_Engine1" is responsible for every job with the tag "internalProcessesTag". All other jobs get the "default"-tag, so Host_Engine1 is completely reserved for this purpose.
To ensure that the problem is not caused by our custom workbench, I've followed the above mentioned tutorial, published the defined workbenches to my FME Server. Working with this configuration, I have observed the following circumstances and problems:
- Starting the process out of FME Workbench, everything is fine. All triggered childprocess (load_data.fmw, process_data.fmw, rasterize_data.fmw) are allocated to Host_Engine2. The parent workspace (chain_jobs.fms) is not shown in the Jobs-history on my FME Server.
- Triggering the Job using the FME Server Web-Application, the Controller workspace (job_chain.fmw) is started on the right Engine, but the first "childprocess" (load_data.fmw) stays in Queue until I cancel the process manually. All following jobs are not triggered.
- Disabling the JobRouting Configuration, the process runs without problems, but does not run explicitly on Host_Engine1, but also on the second engine, which is not acceptable.
- Disabling one engine and the JobRouting Configuration, no problems occur, but only one engine is availble, which is of course not acceptable.
- Changing the the JobRouting Configuration like below, where I have disabled the configuration for the first engine (should be responsible for all other jobs except those with the internalProcessesTag-tag as it used the "default"-tag, my job runs successfully, but it is running on both engines, although the jobs from the internalProcesses-repository should run on Host_Engine2.
TM_DEFAULT_TAG=default
TM_QUEUE_TYPE=DEFAULT
# Assign tag
TM_REPOSITORY_1=internalProcesses:internalProcessesTag
# TM_ENGINE_1=Host_Engine1:default
TM_ENGINE_2=Host_Engine2:internalProcessesTag
So...are there any known limitations in regard to the combination of FMEServerJobSubmitter and a active JobRouting Configuration?