##// END OF EJS Templates
Merge pull request #2148 from bfroehle/no_more_os_system...
Merge pull request #2148 from bfroehle/no_more_os_system win32 iptest: Use subprocess.Popen() instead of os.system(). The call to `os.system` in `iptest` prevents us from easily setting `$IPYTHONDIR` to a temporary directory. In theory we should be able to use `subprocess.Popen` instead of `os.system` in Windows. This would unify the code structure and make it easy to pass in a different environment. Note that Python < 2.7 does not have `os.kill`. I've attempted to work around this by using `ctypes` to kill any living processes.

File last commit:

r4910:0dc49390
r8028:6ed621a3 merge
Show More
job_wrapper.py
25 lines | 542 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""Python wrapper around a submitted workflow job.
In reality this would be a more sophisticated script, here we only illustrate
the basic idea by considering that a submitted 'job' is a Python string to be
executed.
"""
import sys
argv = sys.argv
from IPython.parallel.engine import EngineFactory
from IPython.parallel.ipengineapp import launch_new_instance
ns = {}
# job
exec sys.argv[1] in ns
# this should really use Config:
EngineFactory.user_ns = ns
# start engine with job namespace
launch_new_instance()