Considerations
When running a workspace in FME Flow that uses the FMEFlowJobSubmitter with sequential execution enabled, the job may remain indefinitely in the queue.
This can occur when the parent workspace and the submitted workspace use different Python interpreters. If the parent workspace is configured to wait for the child job to complete, the parent job may continue waiting indefinitely.
Why This Happens
When using the FMEFlowJobSubmitter with the following settings:
Submit Jobs: In Sequence
Wait for Jobs to Complete: Yes
FME Flow temporarily launches a child engine to run the submitted job while the parent workspace waits for the result.
Each FME Flow Engine loads the Python interpreter required by the workspace it runs. Engines are designed to restart automatically when a subsequent job requires a different Python interpreter, so the existing Python environment can be unloaded and replaced.
If the engine restarts while a parent job is waiting for a child job to complete:
The child job may be reassigned to a different queue.
That queue may not be related to the original parent job.
The communication link between the parent and child engines is broken.
Because "Wait for Jobs to Complete" is enabled, the parent job continues waiting for a response that will never arrive. As a result, the parent job remains queued indefinitely and typically must be manually cancelled.
How to Resolve It
Ensure that both the parent and child workspaces use the same Python interpreter.
Open the parent workspace in FME Form. Open the workspace parameters in the navigator pane, and check the configured Python interpreter.
Open the child workspace that is being submitted. Verify that it uses the same Python interpreter as the parent workspace. If necessary, update one of the workspaces so that both interpreters match.
After both workspaces use the same interpreter, the engine will not restart during execution, and the parent-child job relationship will remain intact.
Additional Notes
If the parent job becomes stuck in the queue due to this situation, it must be manually cancelled from the Jobs page in FME Flow before the workspace can be run again.
Additional Resources
FMEFlowJobSubmitter Transformer Documentation