【发布时间】:2018-03-14 17:46:06
【问题描述】:
当客户端关闭时,有没有办法防止 dask/distributed 取消排队和执行期货?
我想使用 jupyter notebook 来启动一些非常长时间运行的分布式模拟,关闭 notebook,稍后再检索结果。
【问题讨论】:
标签: python dask dask-distributed
当客户端关闭时,有没有办法防止 dask/distributed 取消排队和执行期货?
我想使用 jupyter notebook 来启动一些非常长时间运行的分布式模拟,关闭 notebook,稍后再检索结果。
【问题讨论】:
标签: python dask dask-distributed
您可以使用“发布”机制在调度程序中保留对某些数据的引用,以便稍后在另一个客户端中检索。存在两种形式,它们用不同的语法做同样的事情:
>>> client.publish_dataset(mydata=f)
这里f 是一个future、future 列表或dask 集合(数据框等)。
在另一个会话中:
>>> client.list_datasets()
['mydata']
>>> client.get_dataset('mydata')
<same thing as f>
另一种可能更简单的语法看起来像
>>> client.datasets['mydata'] = f
>>> list(client.datasets)
['mydata']
>>> client.datasets['mydata']
<same thing as f>
要删除引用并允许从集群中清除数据(如果没有客户端需要它们),请使用 client.unpublish_dataset('mydata') 或 del client.datasets['mydata']。
【讨论】: