##// END OF EJS Templates
don't use zmq.select due to bug in pyzmq 2.1.7...
don't use zmq.select due to bug in pyzmq 2.1.7 pyzmq's zmq.select timeout has the wrong units in 2.1.7, resulting in a timeout of 1 waiting for 1000s before raising. Use zmq.Poller instead, which doesn't have this bug.

File last commit:

r3690:aafdf2be
r4072:11443881
Show More
multiengine2.py
28 lines | 753 B | text/x-python | PythonLexer
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
import time
from IPython.parallel import Client
#-------------------------------------------------------------------------------
# Setup
#-------------------------------------------------------------------------------
mux = Client()[:]
mux.clear()
mux.block=False
ar1 = mux.apply(time.sleep, 5)
ar2 = mux.push(dict(a=10,b=30,c=range(20000),d='The dog went swimming.'))
ar3 = mux.pull(('a','b','d'), block=False)
print "Try a non-blocking get_result"
ar4 = mux.get_result()
print "Now wait for all the results"
mux.wait([ar1,ar2,ar3,ar4])
print "The last pull got:", ar4.r