##// 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
"""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
cont = Popen(['python', '-m', 'IPython.parallel.ipcontrollerapp'])
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))