##// END OF EJS Templates
updated references to configuration file options to specify the class as well as the option itself
updated references to configuration file options to specify the class as well as the option itself

File last commit:

r3666:a6a0636a
r4468:25f147e5
Show More
wmanager.py
44 lines | 1.1 KiB | text/x-python | PythonLexer
Fernando Perez
Add little soma workflow example
r3608 """Mock workflow manager.
This is a mock work manager whose submitted 'jobs' simply consist of executing
a python string. What we want is to see the implementation of the ipython
controller part.
"""
from __future__ import print_function
import atexit
import sys
from subprocess import Popen
def cleanup(controller, engines):
"""Cleanup routine to shut down all subprocesses we opened."""
import signal, time
print('Starting cleanup')
print('Stopping engines...')
for e in engines:
e.send_signal(signal.SIGINT)
print('Stopping controller...')
# so it can shut down its queues
controller.send_signal(signal.SIGINT)
time.sleep(0.1)
print('Killing controller...')
controller.kill()
print('Cleanup done')
if __name__ == '__main__':
# Start controller in separate process
MinRK
move IPython.zmq.parallel to IPython.parallel
r3666 cont = Popen(['python', '-m', 'IPython.parallel.ipcontrollerapp'])
Fernando Perez
Add little soma workflow example
r3608 print('Started controller')
# "Submit jobs"
eng = []
for i in range(4):
eng.append(Popen(['python', 'job_wrapper.py','x=%s' % i]))
# Ensure that all subpro
atexit.register(lambda : cleanup(cont, eng))