Python的web项目如何进行动态重载和热部署?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的web项目如何进行动态重载和热部署?相关的知识,希望对你有一定的参考价值。

一直都困惑于python项目的部署方式,
在更新代码后只能重启应用服务器, 不知道有没有更好的方式
比如自动感知修改并reload或者说热部署(类似于php或JSP)
如果只能重启的话, 有没有比较好的自动化实现这个过程的解决方案?

真正意义上的代码热部署应该是类似erlang那样的,将代码更新到节点后不停服务,不断连接的自动应用新代码。auto reload什么的还是会造成业务瞬间中断。我感觉是可以从wsgi容器级别上实现,比如更新代码后检测到文件变更,然后通知容器创建新的wsgi application的实例,之后所有新的请求都发送到新的wdgi application实例上。等旧wsgi application实例的最后一个请求返回后就将其回收掉。不过貌似没有看到类似的实现 参考技术A 单纯从语言层次做到热加载不难。难的是web项目中,存储,后端逻辑service,静态文件等等许多相关的内容一起做到热加载。
回到热加载的目的,不停机。如1L所说的HA机制等就可以很好的解决这个问题。

以上是关于Python的web项目如何进行动态重载和热部署?的主要内容,如果未能解决你的问题,请参考以下文章

Grails 或 Play 如何检测更改和热重载类?

eclipse实现热部署和热启动

死磕Tomcat系列——Tomcat如何做到热加载和热部署的

你知道Tomcat是如何做到热加载和热部署的吗?

Day690.Tomcat如何实现热部署和热加载 -深入拆解 Tomcat & Jetty

热加载和热部署,看看 Tomcat 是怎么实现的