Dask Client检测到本地默认集群已在运行中

问题描述 投票:0回答:2
from dask.distributed import Client

Client()
Client(do_not_spawn_new_if_default_address_in_use=True)  # should not spawn a new default cluster

这有可能以某种方式做吗?

dask dask-distributed
2个回答
1
投票

您实际上不应在同一Python会话中创建多个客户端。可能值得更深入地研究为什么您多次呼叫Client()

如果您已经在默认地址上运行了Dask群集,则可以设置DASK_SCHEDULER_ADDRESS环境变量,该变量将指示客户端将其放在那里而不是创建本地群集。

>>> import os
>>> os.environ['DASK_SCHEDULER_ADDRESS'] = 'tcp://localhost:8786'

>>> from dask.distributed import Client
>>> Client() # Does not create a cluster
    <Client: 'tcp://127.0.0.1:8786' processes=0 threads=0, memory=0 B>

0
投票

非公共功能distributed.client._get_global_client()将返回当前客户端(如果存在),或None

client = _get_global_client() or Client()

由于是内部的,因此API可能会更改,恕不另行通知。

© www.soinside.com 2019 - 2024. All rights reserved.