Deployment 什么';部署和更新长时间运行的流程的好方法是什么?

Deployment 什么';部署和更新长时间运行的流程的好方法是什么?,deployment,Deployment,我有一个进程在服务器上运行 仅供参考,我正试图为nodejs和Python解决同样的问题——我认为具体的服务器/语言并不重要,因为问题更多的是关于部署的方法 该进程所做的工作可能需要数秒到数小时才能运行 我正在尝试解决如何为流程部署更新的代码 我不想仅仅在它正在做的过程中停止这个过程,因为害怕在长时间运行的过程中丢失所有的工作。 那么,当新代码到达时,有什么好方法可以让流程优雅地退出并重新启动呢 我使用systemd来运行nodejs服务 我使用Ansible部署更新,但这并不是真的相关 我想,

我有一个进程在服务器上运行

仅供参考,我正试图为nodejs和Python解决同样的问题——我认为具体的服务器/语言并不重要,因为问题更多的是关于部署的方法

该进程所做的工作可能需要数秒到数小时才能运行

我正在尝试解决如何为流程部署更新的代码

我不想仅仅在它正在做的过程中停止这个过程,因为害怕在长时间运行的过程中丢失所有的工作。

那么,当新代码到达时,有什么好方法可以让流程优雅地退出并重新启动呢

我使用systemd来运行nodejs服务

我使用Ansible部署更新,但这并不是真的相关

我想,在长时间运行的进程的每次执行结束时,服务器可能会检查磁盘上是否放置了某个文件作为某种标志,以指示它应该退出并重新启动,但这似乎有点脆弱和粗糙

有人有更好的机制来做这类事情吗