这样的事情会很好:
from IPython.parallel import Client
dv=Client()[0]
import time
def waitprogress(n):
for i in range(n):
time.sleep(1)
global progress
progress=str(i)+'/'+str(n)
dv.block=False
dv.apply(waitprogress,10)
dv['progress']
# the command wait 10 seconds, then returns 9/10
这不起作用,因为 IPython 在远程实例中搜索进度变量之前等待 dv.apply 结束。
SO的伟大人物有什么想法吗?