task1.py
52 lines
| 671 B
| text/x-python
|
PythonLexer
Brian E. Granger
|
r4581 | # <nbformat>2</nbformat> | ||
# <markdowncell> | ||||
# # Simple task farming example | ||||
# <codecell> | ||||
MinRK
|
r3690 | from IPython.parallel import Client | ||
Brian E. Granger
|
r4581 | # <markdowncell> | ||
# A `Client.load_balanced_view` is used to get the object used for working with load balanced tasks. | ||||
# <codecell> | ||||
MinRK
|
r3690 | rc = Client() | ||
v = rc.load_balanced_view() | ||||
Brian E. Granger
|
r4581 | # <markdowncell> | ||
# Set the variable `d` on all engines: | ||||
# <codecell> | ||||
MinRK
|
r3690 | rc[:]['d'] = 30 | ||
Brian E. Granger
|
r4581 | # <markdowncell> | ||
# Define a function that will be our task: | ||||
# <codecell> | ||||
MinRK
|
r3690 | def task(a): | ||
return a, 10*d, a*10*d | ||||
Brian E. Granger
|
r4581 | # <markdowncell> | ||
# Run the task once: | ||||
# <codecell> | ||||
MinRK
|
r3690 | ar = v.apply(task, 5) | ||
Brian E. Granger
|
r4581 | # <markdowncell> | ||
# Print the results: | ||||
# <codecell> | ||||
print "a, b, c: ", ar.get() | ||||