Dask Distributed 在客户端关闭后获取期货

Dask Distributed Getting Futures after Client Closed

有什么办法可以防止 dask/distributed 在客户端关闭时取消排队和执行期货?

我想使用 jupyter notebook 开始一些非常长的 运行 分布式模拟,关闭 notebook,稍后检索结果。

您可以使用 "publish" 机制在调度程序中保留对某些数据的引用,以便稍后在另一个客户端中检索。存在两种形式,它们用不同的语法做同样的事情:

>>> client.publish_dataset(mydata=f)

这里 f 是未来,未来列表或 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']