dask - 如何让所有工人在黎明时分做同样的任务?
问题描述
我想让所有工人做同样的任务,像这样:
from dask import distributed
from distributed import Client,LocalCluster
import dask
import socket
def writer(filename,data):
with open(filename,'w') as f:
f.writelines(data)
def get_ip(x):
return socket.gethostname()
#writer('/data/1.txt',a)
client = Client('192.168.123.1:8786')
A=client.submit(get_ip, 0,workers=['w1','w2'], pure=False)
print(client.ncores(),
client.scheduler_info()
# dask.config.get('distributed')
)
A.result()
我有 2 个工人,但只打印 1 个工人的主机名
解决方案
实现您想要的一个简单方法是使用 Client.run 方法
client.run(socket.gethostname)
这将在所有工作人员上运行该函数并返回所有结果。它不使用正常的任务调度系统,该系统的设计目的与您想要的完全不同。
推荐阅读
- xamarin - 使用 MVVM 模式将网格中的条目值作为列表获取
- c# - 如何对无状态 Service Fabric 服务进行分区
- c - 埃拉托色尼筛 - 按位优化问题
- mongodb - PySpark TimestampType() 提供错误的转换:ValueError: year 52129 is out of range
- slickgrid - 如何更改角度 slickgrid 中的标签度量?
- javascript - 尽管 Node js 中的一切都是正确的,但无法从 aws s3 下载图像
- c# - .NET Core 项目中引用的程序集无法加载时的不同场景
- php - 在查询中添加条件
- powershell - 长时间运行的脚本中的 System.OutOfMemoryException
- python - tensorflow - 为什么在度量函数中调用数组时不同?