我正在使用 Dask Distributed 通过接口将函数提交到我的集群client.submit。如果集群不可用,我默认为串行、非分布式执行。我希望能够从函数中确定它是作为分布式未来运行还是作为正常函数运行。例如,对于work下面的函数,我想知道它是通过运行client.submit(work)还是简单地作为运行work()。def work(): if is_distributed(): # do stuff else: # do different stuff上面应该is_distributed()是什么样子?
1 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
您应该使用该功能distributed.worker.get_worker。它将返回工作实例,或者引发一个ValueError. 所以你可以做类似的事情
def is_distributed()():
import distributed.worker
try:
get_worker()
return True
except ValueError:
return False
添加回答
举报
0/150
提交
取消