无论如何都要阻止dask / distributed取消排队&在客户关闭时执行期货?
我想使用jupyter笔记本启动一些非常长时间运行的分布式仿真,关闭笔记本,稍后再检索结果。
答案 0 :(得分:2)
您可以使用“发布”机制在调度程序中保留对某些数据的引用,以便以后在另一个客户端中进行检索。存在两种形式不同的形式:
>>> 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']
。