我有一个uWSGI设置,我运行dynamic模式,并添加应用程序。 所有的应用程序都使用相同的代码库,但每个应用程序都有自己的设置文件。 它的工作很好。
举例来说,我想更改一个已经加载的应用程序的设置。 有没有办法让我的uwsgi重新加载应用程序,而不是重新启动整个uwsgi服务器? 在皇帝模式下,我可以触摸configuration文件。 如何在dynamic模式下达到相同的效果?
不幸的是,你不能。 销毁一个Python子分析器(以及Perl或Lua)是一个相当薄弱的操作,不能释放很多导致非常糟糕结果的事情。
例如,基于C的共享python模块不能被安全地释放(因为其他解释器可以引用它们)以及更多的os相关的问题,比如打开的文件描述符和类似的。
你可以做的最好的事情是重新加载工人(使用连锁加载技巧来减less停机时间)。
注意:你只需要重新加载工人,而不是整个实例