Please find the patch to resolve the issue reported in RM #1679
This will take care of:
- Find the appropriate available Python interpreter to execute the process_executor.py.
In case of WSGI or Runtime, it was not properly find the interpreter required to execute that script. Also, on windows - we should give priority to the windowless python interpreter (if available).
- Execute the process_executor.py script with proper platform dependent flags to run it as daemon.
- Run the process_executor.py in proper daemon mode. It helps to run the long running processes like backup, restore, etc.
On windows, run the process_executor.py from process_executor.py in detached mode to allow the child process to run in detached mode.
On POSIX, fork the process_executor.py to allow the child process to run in daemon mode.
Also - listen the signal like SIGINT, SIGTERM, so that - the child does not kill, or hangup (It used to happen.
NOTE:
This patch does not take care of the unicode errors in the path. I will send a separate patch for the same.
Unfortunately my first test of this failed:
SERVER_MODE = False
Python 2.7.11 (Mac default)
Running in Chrome
I ran a backup of a database, and got the green backup initiated popup... then, nothing. Upon checking my config, I found I had the PostgreSQL Bin Path set to "$DIR/a/b/c", which clearly won't work. So, we're not yet detecting failure to start a process properly.
I then corrected the path to "/Library/PostgreSQL/9.6/bin", and re-ran the backup. That didn't work either - I saw exactly the same result as before, a green popup, then nothing.