如何从Dask调度程序获取仪表板地址

如何从Dask调度程序获取仪表板地址,dask,dask-distributed,Dask,Dask Distributed,启动dask分布式本地群集时,可以为仪表板\u地址设置随机端口或地址 如果以后获得调度程序对象。是否有方法提取仪表板的地址 我有这个: cluster = dask.distributed.LocalCluster(scheduler_port=0, dashboard_address='localhost:0') scheduler = dask.distributed.Client(cluster, set_as

启动dask分布式本地群集时,可以为
仪表板\u地址设置随机端口或地址

如果以后获得
调度程序
对象。是否有方法提取仪表板的地址

我有这个:

cluster = dask.distributed.LocalCluster(scheduler_port=0,
                                        dashboard_address='localhost:0')
scheduler = dask.distributed.Client(cluster, set_as_default=False)
scheduler_info = scheduler.scheduler_info()
logger.info('Scheduler: %s', scheduler_info['address'])
logger.info('Status Port: %s', scheduler_info['services']['dashboard'])

但这只获取仪表板的端口,而不是仪表板的IP。如果我将仪表板地址放在调度程序以外的单独IP上,似乎很难知道它绑定到哪个IP。

如果定义了
仪表板地址
,您可以通过以下方式获得该信息:

[1]中的
:来自dask.distributed import LocalCluster,客户端
在[2]中:cluster=LocalCluster(dashboard_address='172.22.1.26:8782')
[3]中:cluster.scheduler.services['dashboard'].server.address
出[3]:'172.22.1.26'
[4]中:cluster.scheduler.services['dashboard'].server.port
Out[4]:8782
注意:如果未定义
仪表板\u地址
,仪表板将位于调度程序地址——通常是
127.0.0.1

,如果您有集群对象
cluster.dashboard\u链接
#或者如果你有客户
client.dashboard\u链接

您可以改为从scheduler对象获取它吗?虽然此代码可以回答此问题,但提供有关此代码为什么和/或如何回答此问题的附加上下文可以提高其长期价值。