Ubuntu 16.04 上自动启动 dask 分布式调度程序和工作程序

Automatic start of dask distributed scheduler and workers on Ubuntu 16.04

我正在考虑在 Ubuntu 16.04 上自动启动和控制 dask 分布式调度程序和工作程序的不同方法。

目前我认为最相关的选择是使用 systemd 守护进程。这需要创建和安装 unit files.

Systemd要求一个单元文件应该有一个停止服务的命令行,在ExecStop中设置。

重新加载配置的命令也很有用,但是,我不确定如何使 Python 重新导入模块,是否比重新启动进程更简单。

看起来目前无法通过 运行 dask-schedulerdask-worker 命令停止 scheduler/workers,不是吗?我还没有找到任何相关的命令行开关。

另一种选择是创建 PID 文件并使用标准 kill 命令,但是,Dask 分布式似乎不会创建 PID 文件。我说的对吗?

如果您向 dask-workerdask-scheduler 进程发送中断信号(例如当您使用 Ctrl-C 时出现的中断信号),它们将拦截它并彻底关闭。

我们目前不编写 PID 文件,但这很容易做到。如果您认为这应该包含在项目中,我建议您open an issue。与创建在其他服务中常见的正确 start/stop 命令相同。

终于要开始设置了ExecStop=/bin/true。 Systemd 仍然成功停止并重新启动服务。

Current systemd manual 表示 ExecStop 是可选的。