首页 > 解决方案 > 如何让所有工人在黎明时分做同样的任务?

问题描述

我想让所有工人做同样的任务,像这样:

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 个工人的主机名

标签: daskdask-distributed

解决方案


实现您想要的一个简单方法是使用 Client.run 方法

client.run(socket.gethostname)

这将在所有工作人员上运行该函数并返回所有结果。它不使用正常的任务调度系统,该系统的设计目的与您想要的完全不同。


推荐阅读