我想让所有工人都执行相同的任务,像这样:
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个工作人员的主机名
答案 0 :(得分:3)
实现所需目标的一种简单方法是使用Client.run方法
client.run(socket.gethostname)
这将在所有工作程序上运行该函数并返回所有结果。它没有使用正常的任务计划系统,该系统的设计目的与您想要的目的完全不同。