-1

我有与此 stackoverflow 帖子相同的问题,并且我的 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 命令来停止它们,因为停止脚本是不够的......任何想法?

4

1 回答 1

0

操作员错误似乎.....上面的代码似乎确实在做它应该做的事情,尽管它并不是我在具体使用中所期望的。抱歉发错帖

于 2015-05-28T15:49:31.223 回答