multiengine2.py
29 lines
| 794 B
| text/x-python
|
PythonLexer
MinRK
|
r3690 | #------------------------------------------------------------------------------- | ||
# Imports | ||||
#------------------------------------------------------------------------------- | ||||
Thomas Kluyver
|
r6455 | from __future__ import print_function | ||
MinRK
|
r3690 | |||
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) | ||||
Thomas Kluyver
|
r6455 | print("Try a non-blocking get_result") | ||
MinRK
|
r3690 | ar4 = mux.get_result() | ||
Thomas Kluyver
|
r6455 | print("Now wait for all the results") | ||
MinRK
|
r3690 | mux.wait([ar1,ar2,ar3,ar4]) | ||
Thomas Kluyver
|
r6455 | print("The last pull got:", ar4.r) | ||