Solved

SystemCaller on FME Server appears to work but isnt


Badge +1

I have an ETL doing one thing, running SystemCaller to run a python script. This works fine in Workbench but is not working on Server even though the log shows an EXITCODE of 0. Both desktop and server are windows 64 environments, FME 2019.0.1.

If we log in to the server box and call the script from cmd, it works just fine. We tried logging in as the fme user account and it ran just fine as well. Its only when running on FME Server that we are having problems. I have tried referencing the python script from a directory drive and copied to the Server box, doesnt seem to matter.

Some clues. The log for the job has an exitcode of 0. When running successfully on Workbench we can see in the log where SystemCaller executes the Python and it logs everything the script does. The log on Server executes the Python and moves on to the next Transformer (no log from the python script running).

The Python script being ran must import other Python scripts. When I remove these other scripts as a test SystemCaller will Fail to Execute in Workbench but will not fail on Server.

Any help would be much appreciated.

icon

Best answer by lopes8 8 June 2020, 22:55

View original

7 replies

Userlevel 4
Badge +26

Hmm, have you tried outputting the log from the system called to a file - that should help you figure out what's going on. 

"mySystemCall" > myoutput.txt

Note that on FME Server the SystemCalled is not logged, neither are print calls from Python scripts, so it could be that it's running just fine.

For me trouble shooting the SystemCaller on FME Server required saving a seperate log file.

Badge +1

Hmm, have you tried outputting the log from the system called to a file - that should help you figure out what's going on. 

"mySystemCall" > myoutput.txt

Note that on FME Server the SystemCalled is not logged, neither are print calls from Python scripts, so it could be that it's running just fine.

For me trouble shooting the SystemCaller on FME Server required saving a seperate log file.

Thank you for the suggestion.  I added an output for a log file but nothing gets written.  when using desktop, it writes it out just fine.  Im really struggling to understand what is going on here.

Badge +1

Hmm, have you tried outputting the log from the system called to a file - that should help you figure out what's going on. 

"mySystemCall" > myoutput.txt

Note that on FME Server the SystemCalled is not logged, neither are print calls from Python scripts, so it could be that it's running just fine.

For me trouble shooting the SystemCaller on FME Server required saving a seperate log file.

Do I need to call the python script a certain way in FME Server?  I am just plugging in:

"C:/ProgramData/Safe Software/FME Server/resources/System/Test/Main.py"

Badge +11

It is odd that it reports the exit code and isn't working.

 

I assume you've considered the permissions the FME Server Engine Services is running under. The Engine service will certainly need elevated permission levels. Thanks for filing the case. Hopefully we will find a solution and report back.
Badge +1

We were able to figure this out. This was, indeed, a user permissions issue. The account being used by FME Server needed have the appropriate permissions enabled on the source, output and Python directories.

Thank you everyone for your help in resolving this issue.

Hi,

I am having this issue with FME Server & Desktop 2022.1

Server logged in as service account and in an Automation attemping to get it to execute SystemCaller to run a .bat so FME Desktop can complete an Oracle 32bit workbench.

 

Similarly, the FME Server Completed Jobs says it was successful but the log says it 'Failed to Execute...'

 

The SA account has Full Control of all folders, so unsure why it won't run the batch file.

 

Any ideas?

Badge

Hi,

I am having this issue with FME Server & Desktop 2022.1

Server logged in as service account and in an Automation attemping to get it to execute SystemCaller to run a .bat so FME Desktop can complete an Oracle 32bit workbench.

 

Similarly, the FME Server Completed Jobs says it was successful but the log says it 'Failed to Execute...'

 

The SA account has Full Control of all folders, so unsure why it won't run the batch file.

 

Any ideas?

Hi @travg​, I'm sorry you're having issues running the SystemCaller on your FME Server! Do you have FME Workbench installed on your FME Server host? If so, it would be helpful to try running the workspace manually from FME Workbench on the host server to see if the translation succeeds or not. Does your .bat file only have one command that runs the workspace, or does it have any other commands?

Reply