我有一个正在服务器上运行的进程。
仅供参考,我正在尝试为nodejs和Python解决相同的问题-我真的不认为特定的服务器/语言很重要,因为问题更多地是关于部署方法。
该过程可能需要花费几秒钟到几个小时才能完成。
我正在尝试找出如何为该过程部署更新的代码。
我不想只是在正在执行的过程中停止该过程,否则会丢失长期运行过程中到目前为止已完成的所有工作。
那么,有什么好方法可以使进程在新代码到达后正常退出并重新启动?
我使用systemd运行nodejs服务。
我使用Ansible部署更新,但这并不是真的相关。
我认为也许在长时间运行的每次执行结束时,服务器都可以检查是否已将某些文件放置在磁盘上,作为某种标志,指示它应该退出并重新启动,但这似乎有点脆弱和骇客。
有人对这种事情有更好的机制吗?