由于scala> foo(List(true, false))
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Integer
at scala.runtime.BoxesRunTime.unboxToInt(BoxesRunTime.java:101)
at .foo(<console>:15)
... 31 elided
在后台缓存数据,我想知道是否可以等到它完成缓存然后执行以下操作。此外,还有一种方法可以为缓存过程设置进度条吗?非常感谢你
答案 0 :(得分:3)
是的,您正在寻找的功能恰当地命名为wait
和progress
。
from dask.distributed import wait, progress
progress
函数接受任何dask事物并呈现进度条
>>> progress(x)
[XXXXXXX................] 5.2 seconds
如果您在IPython笔记本中,那么进度也是非阻塞的并且使用IPython小部件。如果您使用的是IPython控制台或直接的Python可执行文件,那么progress
将被阻止,并且在计算完成之前不会返回。
如果您不想要进度条,或者如果您在Jupyter笔记本中,那么您可能需要单独使用wait
函数,该函数将一直阻塞,直到计算结束。
wait(x)
http://distributed.readthedocs.io/en/latest/api.html#distributed.client.wait http://distributed.readthedocs.io/en/latest/api.html#distributed.diagnostics.progress