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

Python 2.7 Ubuntu 16.04上dask分布式调度程序和工作程序的自动启动,python-2.7,systemd,ubuntu-16.04,dask,Python 2.7,Systemd,Ubuntu 16.04,Dask,我正在考虑不同的方法来自动启动和控制Ubuntu16.04上的dask分布式调度程序和工作程序 目前我认为最相关的选项是使用systemd守护进程。这需要创建和安装 Systemd要求单位文件应具有停止服务的命令行,在ExecStop中设置 重新加载配置的命令也很有用,但是,我不确定如何使Python重新导入模块,以及它是否比重新启动流程更简单 看起来当前不可能通过运行dask scheduler或dask worker命令来停止调度器/工作程序,不是吗?我没有找到任何相关的命令行开关 另一个选

我正在考虑不同的方法来自动启动和控制Ubuntu16.04上的dask分布式调度程序和工作程序

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

Systemd要求单位文件应具有停止服务的命令行,在
ExecStop
中设置

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

看起来当前不可能通过运行
dask scheduler
dask worker
命令来停止调度器/工作程序,不是吗?我没有找到任何相关的命令行开关


另一个选项是创建PID文件并使用标准的
kill
命令,然而,Dask distributed似乎并不创建PID文件。我说得对吗?

如果您向
dask worker
dask scheduler
进程发送一个中断信号(例如在按住Ctrl-C键时发生),它们将截获该信号并完全关闭


我们目前不写PID文件,但这很容易做到。我建议你,如果这是你认为应该包括在项目中的东西。与创建其他服务中常见的正确启动/停止命令相同。

最后,我来设置
ExecStop=/bin/true
。Systemd仍然成功停止并重新启动服务


表示
ExecStop
是可选的。

是的,但是需要一个进程ID来发送中断信号,有时要找到它并不容易。