FME Version
Known Issue ID | FMESERVER-14957 |
---|---|
Discovered | FME 2021.0 21105 |
Affects | All versions of FME Server after 2019.1 |
Resolved | N/A |
Symptom
When a job is submitted on FME Server via the FMEServerJobSubmitter with "Submit Jobs" = In Sequence and "Wait for Jobs to Complete" = Yes, the job gets stuck in the queued state.
Cause
The parent job (the workspace with the FMEServerJobSubmitter) and the child job (the submitted job from the FMEServerJobSubmitter) use different Python interpreters.
When an FME Server job uses an FMEServerJobSubmitter with "Submit Jobs" = In Sequence and "Wait for Jobs to Complete" = Yes, a child Engine is temporarily started to run the child job while the parent waits. The parent job will load a certain Python interpreter on the FME Server Engine that is running the job. Engines are intentionally designed to restart themselves if subsequent jobs use a different Python interpreter to unload and reload the new Python environment.
However, when an Engine restarts in the middle of a parent-child job, it causes the child job to be sent to a queue that is different than the original and has no ties to any other workspaces. This disconnects the child and parent Engines from each other. Since "Wait for Jobs to Complete" is set to Yes, the parent job waits in the queue for the child to respond but the broken relationship causes the parent to wait forever. The parent job will need to be manually cancelled.
Workaround
Make sure the Python interpreters match between parent and child workspaces.
Comments
0 comments
Please sign in to leave a comment.