我如何告诉 Dagit(Dagster GUI)在现有 Dask 集群上 运行?

How do I tell Dagit (the Dagster GUI) to run on an existing Dask cluster?

我正在使用 dagster 0.11.3(撰写本文时最新版本)

我创建了一个 Dagster 管道(另存为 pipeline.py),如下所示:

@solid
def return_a(context):
    return 12.34


@pipeline(
    mode_defs=[
        ModeDefinition(
            executor_defs=[dask_executor]  # Note: dask only!
        )
    ]
)
def the_pipeline():
    return_a()

我将 DAGSTER_HOME 环境变量设置为包含名为 dagster.yaml 的文件的目录,该文件是一个空文件。这应该没问题,因为根据这些文档,默认值是合理的:https://docs.dagster.io/deployment/dagster-instance.

我在“scheduler:8786”有一个现有的 Dask 集群 运行ning。基于这些文档:https://docs.dagster.io/deployment/custom-infra/dask,我创建了一个名为 config.yaml 的 运行 配置,如下所示:

execution:
  dask:
    config:
      cluster:
        existing:
          address: "scheduler:8786"

我已经成功地将此 运行 配置与 Dagster 一起使用,如下所示:

$ dagster pipeline execute -f pipeline.py -c config.yaml

(我检查了 Dask 日志并确保它确实在我的 Dask 集群上 运行)

我的问题是:我怎样才能让 Dagit 使用这个 Dask 集群? 我发现的唯一似乎相关的是: https://docs.dagster.io/_apidocs/execution#executors

...但它甚至没有提到 Dask 作为一个选项(它有 dagster.in_process_executor 和 dagster.multiprocess_executor,它们似乎与 dask 完全无关)。

可能我需要配置 dagster-dask,记录在此处:https://docs.dagster.io/_apidocs/libraries/dagster-dask#dask-dagster-dask

...但是在使用 Dagit 时我应该把 运行 配置放在哪里?例如,无法将 config.yaml 喂给 Dagit。

部分选项:

鉴于上下文,我会推荐 configured API