如何让适应性轻快的工作者在启动时运行一些代码?

时间:2018-08-01 11:04:39

标签: python dask dask-distributed dask-kubernetes

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

如果您要查找的只是设置环境变量,则可以使用dask-kuberenetes配置文件来处理。我认为KubeCluster甚至可以使用env =关键字之类的东西。

对于更通用的代码,您正确地认为使用预加载脚本是当前最好的方法。不过,这并非在所有情况下都是理想的。理想情况下,您将能够在调度程序中注册一些启动代码,以在所有工人启动时移交给他们。截至2018-08-01尚未实施。