Javascript 如何动态更新正在运行的NodeJS代码

Javascript 如何动态更新正在运行的NodeJS代码,javascript,node.js,Javascript,Node.js,在nodejs中,是否有一种机制可以动态地让代码检查更新,然后运行所述更新 例如,我有一个分布式计算网络,拥有数十名(并计划扩展到数百名)员工 当我更新“worker”代码时,为了在所有worker系统上积极实施,我需要转到每个系统并停止节点,复制更新的文件,然后重新启动节点 我想我可以把整个东西包装在一个包装器中,定期检查更新(或者只是通过主服务器的HTTP请求获取更新)。当它看到新代码时,它卸载当前运行的进程,获取新代码,并使用该代码启动新进程。。。但我不确定如何在nodejs中动态卸载和重

在nodejs中,是否有一种机制可以动态地让代码检查更新,然后运行所述更新

例如,我有一个分布式计算网络,拥有数十名(并计划扩展到数百名)员工

当我更新“worker”代码时,为了在所有worker系统上积极实施,我需要转到每个系统并停止节点,复制更新的文件,然后重新启动节点

我想我可以把整个东西包装在一个包装器中,定期检查更新(或者只是通过主服务器的HTTP请求获取更新)。当它看到新代码时,它卸载当前运行的进程,获取新代码,并使用该代码启动新进程。。。但我不确定如何在nodejs中动态卸载和重新加载代码。也许是给高管打个电话

类似这样的问题。。。但这并不是我想要的——因为这些只是在启动时加载远程文件


指导?

会有用吗?动态导入是否允许“卸载”以前导入的模块?在节点服务器上的git触发器部署上推送代码时实施CI/CD。您无法在node.js中卸载以前加载的模块。一旦解释器加载了代码,就不能从内存中“卸载”它。通常,您将重新启动node.js进程以加载新代码。如果您使用集群,您可以关闭一台服务器,升级它,启动它,关闭另一台,升级它,启动它,等等。。。不要打断服务。如果您不使用群集,您可以手动启动第二台服务器,将负载平衡器或代理更改为现在指向它,升级第一台服务器,然后进行反向操作。一旦部署,新代码将运行(从技术上讲,新实例将启动),如果您以0停机时间的方式创建部署脚本,也将运行新代码。