I created a cluster using
ipcluster start
then turned to him using
from IPython.parallel import Client c=Client() dview=c[:] e=[i for i in c]
I run processes on slaves (e [0] -e [7]), which are time consuming, and I would like them to send progress reports to the wizard, so I can keep track of how long they are.
There are two ways that I can think of, but so far I have not been able to implement any of them, despite the frequent trawls through the question pages.
Or I want the nodes to return some data back to the master without a hint. that is, during a long process that runs on nodes, I implement a function that, at certain intervals, passes its progress to the master.
Or I could redirect the stdout nodes to the top of the wizard, and then just track the progress using print. This is what I have been working on so far. Each node has its own stdout, so printing does nothing if you run remotely. I tried pushing sys.stdout to the nodes, but that just closes it.
I cannot believe that I am the only person who wants to do this, so maybe I missed something very simple. How can I track lengthy processes running remotely using ipython?
source share