distributed - 是否可以在给定客户端实例的情况下关闭 dask.distributed 集群?

标签 distributed dask

如果我有 distributed.Client我可以用它来关闭远程集群吗?即杀死所有 worker 并关闭调度程序?

如果使用 Client 无法做到这一点例如,除了手动杀死每个远程进程之外,还有其他方法吗?

最佳答案

没有专门用于此的客户端功能。

调度程序有一个 close()您可以使用 run_on_scheduler 调用的方法因此

c.run_on_scheduler(lambda dask_scheduler=None: 
    dask_scheduler.close() & sys.exit(0))

这将告诉工作人员断开连接并关闭,并在终止进程之前关闭所有连接。请注意,这会在客户端中引发错误,因为连接在没有回复的情况下中断。可能有更优雅的方式。

请注意,执行此操作的正确方法可能是与部署集群管理器之一进行交互。例如,LocalCluster有一个面向用户的close()可以直接调用的方法。

- 编辑 -
client.shutdown()现在可用。

关于distributed - 是否可以在给定客户端实例的情况下关闭 dask.distributed 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919227/

相关文章:

.net - 基于 WCF 的 SOA、分布式和服务器端编程的好书?

python - dask csv 阅读顺序

hibernate - Zookeeper适合对象缓存吗?

在 IBM Websphere 7 集群中部署具有高可用性的节点

python - 无法安装dask[完成]

python - DASK dd.DataFrame 和 dd.core.Dataframe 之间的区别

python - 如何在 Dask 中进行 sort_index、groupby 和应用函数?

python - 在 Jupyter Notebook 中运行 Tornado 服务器

java - 简单的节点发现方法

python - 如何使用 'loc' 在 dask 中选择数据帧的列