我和this stackoverflow post中的问题相同,而我的ipython(0.13.1)似乎确实没有准备好'结果错误,所以我使用了以下更改:
def wait_watching_stdout(ar, rc, dt=1, truncate=1000):
while not ar.ready():
rc.spin()
stdouts = [ rc.metadata[msg_id]['stdout'] for msg_id in ar.msg_ids ]
if not any(stdouts):
continue
# clear_output doesn't do much in terminal environments
clear_output()
print '-' * 30
print "%.3fs elapsed" % ar.elapsed
print ""
for eid, stdout in zip(ar._targets, stdouts):
if stdout:
print "[ stdout %2i ]\n%s" % (eid, stdout[-truncate:])
sys.stdout.flush()
time.sleep(dt)
问题是rc.spin似乎对我的引擎做了一些坏事:他们开始疯狂地工作,挂起,然后我需要杀死ipcluster命令来阻止它们,因为停止脚本是不够的......有什么想法吗?
答案 0 :(得分:0)
操作符错误.....上面的代码似乎正在做它应该做的事情,尽管它并不完全是我在具体使用中所期望的。对不起错误的帖子