如何让自适应 dask worker 在启动时使用 运行 一些代码?

How do I get adaptive dask workers to run some code on startup?

我正在使用 dask-kubernetes 创建一个 dask 调度程序并将其置于自适应模式。

from dask-kubernetes import KubeCluster
cluster = KubeCluster()
cluster.adapt(minimum=0, maximum=40)

我需要每个工作人员在创建时 运行 一些设置代码(使用 os.environ 设置一些环境变量)以便正确执行任务。

我在文档中看到有一个 --preload 标志,供您从命令行启动的工作人员使用。我猜我需要将其直接设置到某处的自适应调度程序中。

如何将代码传递给我的工作人员以在他们启动时执行?

如果您只是想设置环境变量,那么您可能可以使用 dask-kuberenetes 配置文件来处理这个问题。我认为 KubeCluster 甚至可能有一个 env= 关键字或其他东西。

对于更通用的代码,您认为使用预加载脚本是目前最好的方法是正确的。但这并非在所有情况下都是理想的。理想情况下,您可以使用调度程序注册一些启动代码,以便在所有工作人员启动时将其交给他们。不过从 2018-08-01 开始还没有实现。