客户端 API

客户端 API

网关

class dask_gateway.Gateway(address=None, proxy_address=None, public_address=None, auth=None, asynchronous=False, loop=None)

Dask 网关服务器的客户端。

参数
  • address (str, 可选) – 网关服务器的地址。

  • proxy_address (str, int, 可选) – 调度器代理服务器的地址。如果未提供,则默认为 address。如果为 int 类型,则用作端口,主机/IP 取自 address。如果需要使用不同的主机/IP,请提供完整地址。

  • public_address (str, 可选) – 从网页浏览器可访问的网关服务器地址。这将用作所有面向浏览器的链接(例如 dask dashboard)的根路径。如果未提供,则默认为 address

  • auth (GatewayAuth, 可选) – 要使用的认证方法。

  • asynchronous (bool, 可选) – 如果为 True,则以异步模式启动客户端,可在其他异步代码中使用。

  • loop (IOLoop, 可选) – 要使用的 IOLoop 实例。在异步模式下默认为当前循环,否则启动一个后台循环。

adapt_cluster(cluster_name, minimum=None, maximum=None, active=True, **kwargs)

配置集群的自适应伸缩。

参数
  • cluster_name (str) – 集群名称。

  • minimum (int, 可选) – 伸缩到的最小工作节点数。默认为 0。

  • maximum (int, 可选) – 伸缩到的最大工作节点数。默认为无限。

  • active (bool, 可选) – 如果为 True (默认),则激活自适应伸缩。设置为 False 以停用自适应伸缩。

close()

关闭网关客户端

cluster_options(use_local_defaults=True, **kwargs)

获取可用的集群配置选项。

参数

use_local_defaults (bool, 可选) – 是否使用本地配置中的任何默认选项。默认为 True,设置为 False 则仅使用服务器端默认值。

返回值

cluster_options – 一个包含集群选项的字典。

返回类型

dask_gateway.options.Options

connect(cluster_name, shutdown_on_close=False)

连接到已提交的集群。

参数
  • cluster_name (str) – 要连接的集群。

  • shutdown_on_close (bool, 可选) – 如果为 True,集群将在关闭时自动关停。默认为 False。

返回值

集群

返回类型

网关集群

get_cluster(cluster_name, **kwargs)

获取特定集群的信息。

参数

cluster_name (str) – 集群名称。

返回值

报告

返回类型

ClusterReport

get_versions()

返回服务器和客户端的版本信息

返回值

版本信息

返回类型

dict

list_clusters(status=None, **kwargs)

列出此用户的集群。

参数

status (ClusterStatus, str, 或 list, 可选) – 要选择的集群状态(或多个状态)。有效选项包括 ‘pending’(等待中)、‘running’(运行中)、‘stopping’(正在停止)、‘stopped’(已停止)、‘failed’(失败)。默认选择活动集群(‘pending’,‘running’)。

返回值

集群

返回类型

ClusterReport 列表

new_cluster(cluster_options=None, shutdown_on_close=True, **kwargs)

向网关提交一个新集群,并等待其启动。

与同时调用 submitconnect 相同。

参数
  • cluster_options (dask_gateway.options.Options, 可选) – 描述所需集群配置的 Options 对象。

  • shutdown_on_close (bool, 可选) – 如果为 True (默认),集群将在关闭时自动关停。设置为 False 则集群会一直保留,直到显式关停。

  • **kwargs – 额外的集群配置选项。如果提供了 cluster_options,这些选项将在之后作为覆盖项应用。可用选项特定于 dask-gateway 的每个部署,请参阅 cluster_options 获取更多信息。

返回值

集群

返回类型

网关集群

scale_cluster(cluster_name, n, **kwargs)

将集群伸缩到 n 个工作节点。

参数
  • cluster_name (str) – 集群名称。

  • n (int) – 要伸缩到的工作节点数量。

stop_cluster(cluster_name, **kwargs)

停止集群。

参数

cluster_name (str) – 集群名称。

submit(cluster_options=None, **kwargs)

提交一个要启动的新集群。

此方法会快速返回一个 cluster_name,之后可以使用它来连接到集群。

参数
  • cluster_options (dask_gateway.options.Options, 可选) – 描述所需集群配置的 Options 对象。

  • **kwargs – 额外的集群配置选项。如果提供了 cluster_options,这些选项将在之后作为覆盖项应用。可用选项特定于 dask-gateway 的每个部署,请参阅 cluster_options 获取更多信息。

返回值

cluster_name – 集群名称。

返回类型

str

网关集群

class dask_gateway.GatewayCluster(address=None, proxy_address=None, public_address=None, auth=None, cluster_options=None, shutdown_on_close=True, asynchronous=False, loop=None, **kwargs)

一个 dask-gateway 集群。

参数
  • address (str, 可选) – 网关服务器的地址。

  • proxy_address (str, int, 可选) – 调度器代理服务器的地址。如果为 int 类型,则用作端口,主机/IP 取自 address。如果需要使用不同的主机/IP,请提供完整地址。

  • public_address (str, 可选) – 从网页浏览器可访问的网关服务器地址。这将用作所有面向浏览器的链接(例如 dask dashboard)的根路径。如果未提供,则默认为 address

  • auth (GatewayAuth, 可选) – 要使用的认证方法。

  • cluster_options (mapping, 可选) – 用于启动集群的集群选项映射。

  • shutdown_on_close (bool, 可选) – 如果为 True (默认),集群将在关闭时自动关停。

  • asynchronous (bool, 可选) – 如果为 True,则以异步模式启动集群,可在其他异步代码中使用。

  • loop (IOLoop, 可选) – 要使用的 IOLoop 实例。在异步模式下默认为当前循环,否则启动一个后台循环。

  • **kwargs – 额外的集群配置选项。如果提供了 cluster_options,这些选项将在之后作为覆盖项应用。可用选项特定于 dask-gateway 的每个部署,请参阅 Gateway.cluster_options 获取更多信息。

adapt(minimum=None, maximum=None, active=True, **kwargs)

配置集群的自适应伸缩。

参数
  • minimum (int, 可选) – 伸缩到的最小工作节点数。默认为 0。

  • maximum (int, 可选) – 伸缩到的最大工作节点数。默认为无限。

  • active (bool, 可选) – 如果为 True (默认),则激活自适应伸缩。设置为 False 以停用自适应伸缩。

close(shutdown=None)

关闭集群对象。

参数

shutdown (bool, 可选) – 是否关停集群。如果为 True,集群将被关停;如果为 False,则仅清理本地状态。默认为 shutdown_on_close 的值,设置为 True 或 False 可以覆盖。

classmethod from_name(cluster_name, shutdown_on_close=False, address=None, proxy_address=None, public_address=None, auth=None, asynchronous=False, loop=None)

连接到已提交的集群。

参数
  • cluster_name (str) – 要连接的集群。

  • shutdown_on_close (bool, 可选) – 如果为 True,集群将在关闭时自动关停。默认为 False。

  • **kwargs – 传递给 GatewayCluster 构造函数的额外参数。请参阅文档字符串获取更多信息。

返回值

集群

返回类型

网关集群

get_client(set_as_default=True)

获取此集群的 Client

返回值

客户端

返回类型

dask.distributed.Client

scale(n, **kwargs)

将集群伸缩到 n 个工作节点。

参数

n (int) – 要伸缩到的工作节点数量。

shutdown()

关停此集群。close(shutdown=True) 的别名。

选项

class dask_gateway.options.Options(*fields)

提交给 dask-gateway 的选项。

一个可变映射,描述了用户可设置的所有集群选项。选项可以通过编程方式修改,或者在使用安装了 ipywidgets 的 Web 界面(例如 Jupyter Notebooks)时通过小部件修改。

示例

Options 对象通常通过 Gateway.cluster_options 方法创建

>>> options = gateway.cluster_options()  

然后可以通过属性或键访问或设置可用选项

>>> options.worker_cores  
1
>>> options["worker_cores"]  
1
>>> options.worker_cores = 2  
>>> options.worker_cores  
2

访问无效选项时会适当地报错

>>> options.not_a_valid_option = 'myvalue'  
Traceback (most recent call last):
    ...
AttributeError: No option 'not_a_valid_option' available

如果设置的值无效(例如类型错误、超出范围等),也会引发错误。

认证

class dask_gateway.auth.GatewayAuth(**kwargs)

dask-gateway 中用于客户端认证的基类

class dask_gateway.auth.BasicAuth(username=None, password=None)

将 HTTP 基本认证附加到给定的 Request 对象。

class dask_gateway.auth.KerberosAuth(**kwargs)

使用 kerberos 进行认证

class dask_gateway.auth.JupyterHubAuth(api_token=None)

使用 JupyterHub API 令牌进行认证

异常

class dask_gateway.GatewayClusterError

与网关集群启动/停止/伸缩相关的异常

class dask_gateway.GatewayServerError

与网关服务器操作相关的异常。

表示网关服务器内部错误。