skyline
skyline copied to clipboard
Run analysis in a separate Python process
For convenience, the analysis code runs in the same process as the Skyline server. However, the analysis code executes user code as well. Running user code in the main Skyline process is not really ideal:
- We need to mess around with
sys.path
to ensure the user's code can import their modules properly - We need to prevent their modules from being cached in
sys.modules
so that we can re-run the analysis if they change their code
Security issues are less of a concern here because the user uses Skyline to run their own code on their own system.
If time permits, we should move the analysis into a subprocess launched by the Skyline server.