在应用程序开始处理请求之后,您将无法安全/正确地重新加载配置。配置 只能 在应用程序安装过程中读取。主要原因是生产服务器将使用多个进程运行(甚至分布在多个服务器上),并且处理配置更改请求的工作人员无权访问其他工作人员以通知他们进行更改。另外,某些配置并非旨在重新加载,因此即使您可以通知所有其他工作程序并让他们正确地重新加载,它也可能没有任何作用。
生产型WSGI服务器可以正常重载,即它们不会杀死正在运行的工作人员,直到他们完成响应,因此停机时间实际上不是问题。如果是(实际上不是),那么您的规模如此之大,以至于超出了此答案的范围。
优雅地重新加载:
如果您需要使用可以动态更新的配置,则必须编写所有期望使用的代码。您可以使用before_request
处理程序来加载每个请求的配置。但是,请记住,您未编写的任何使用config的内容都可能不会更改配置。