##// END OF EJS Templates
Initial version of working refactored ipcluster....
Initial version of working refactored ipcluster. This new version uses Twisted's cross platform process management API and provides: * New command line parsing using argparse. This allows for different subcommands (ipcluster local, ipcluster pbs, ipcluster mpirun, etc). * Currently working local and mpirun stating of clusters. * Almost working pbs starting. This has no docs and no tests as of yet and should be considered a tech preview.

File last commit:

r1338:72652d65
r1770:49f63bba
Show More
asyncmultiengine1.py
22 lines | 614 B | text/x-python | PythonLexer
#!/usr/bin/env python
# encoding: utf-8
# A super simple example showing how to use all of this in a fully
# asynchronous manner. The TaskClient also works in this mode.
from twisted.internet import reactor, defer
from IPython.kernel import asyncclient
def printer(r):
print r
return r
def submit(client):
d = client.push(dict(a=5, b='asdf', c=[1,2,3]),targets=0,block=True)
d.addCallback(lambda _: client.pull(('a','b','c'),targets=0,block=True))
d.addBoth(printer)
d.addCallback(lambda _: reactor.stop())
d = asyncclient.get_multiengine_client()
d.addCallback(submit)
reactor.run()