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

时间:2019-11-27 12:28:25

标签: dask dask-distributed

from dask.distributed import Client

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

这有可能吗?

2 个答案:

答案 0 :(得分:3)

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

client = _get_global_client() or Client()

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

答案 1 :(得分: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>