distributed - 是否可以在给定客户端实例的情况下关闭 dask.distributed 集群?
问题描述
如果我有一个distributed.Client
实例,我可以用它来关闭远程集群吗?即杀死所有工人并关闭调度程序?
如果使用实例无法做到这Client
一点,除了手动杀死每个远程进程之外,还有其他方法吗?
解决方案
没有专门用于此的客户端功能。
调度程序有一个你可以close()
调用的方法run_on_scheduler
c.run_on_scheduler(lambda dask_scheduler=None:
dask_scheduler.close() & sys.exit(0))
这将告诉工作人员断开连接并关闭,并在终止进程之前关闭所有连接。请注意,这会在客户端中引发错误,因为连接在没有回复的情况下中断。可能有更优雅的方式。
请注意,执行此操作的正确方法可能是与部署集群管理器之一进行交互。例如,有一个可以直接调用LocalCluster
的面向用户的方法。close()
- 编辑 -
client.shutdown()
现在可用。
推荐阅读
- nginx - “nginx:[emerg] “events”指令在 /etc/nginx/sites-enabled/myapp.conf:1 中是不允许的” nginX 中的错误
- python - 使用带有 errors='replace' 的 str.decode 仍然会出现错误
- mongodb - MongoDB findOneAndUpdate():使用部分输入进行更新
- gulp - 如何让 gulp.series 运行两个单独运行时成功运行的任务?
- c++ - 从命令行获取参数的问题
- regex - 如何将 Google 表格上正则表达式计算字段的结果与数据透视表相加?
- excel - 尝试在目录中搜索所有 txt 文件的内容以查找字符串,并在找到时将文件路径发布到单元格中
- hibernate - 休眠 @ManyToOne 和 @OneToMany
- laravel - 如何从最后 5 行中获取随机行?
- r - 将可编辑的闪亮数据表写入 .csv 文件