Known Issue: Python mismatch causes sequenced child workspaces to stay in queue forever

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2021.0
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.  

 

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.