5

我们需要在 Python WSGI 应用程序中加载不同的配置选项,根据生产或调试环境(特别是一些与应用程序需要向其发布作业的任务服务器相关的服务器配置信息)。到目前为止,我们实现它的方式是debug在我们的部署脚本中设置一个全局变量——它确实正确地修改了部署设置。但是,当我们执行应用程序时,我们需要将调试变量设置为True- 因为它的默认值是False.

到目前为止,很难正确确定调试变量的工作方式,因为它是在部署时设置的,而不是在执行时设置的。我们可以在调用serve_forever调试 WSGI 服务器的方法之前设置它,但我不知道这意味着什么以及该解决方案有多好。

在 WSGI 应用程序中区分调试和生产环境的常用模式是什么?如果我需要在系统参数中传递它,或者如果有任何其他不同的方式,请告诉我。非常感谢!

4

2 回答 2

2

如果您的设置允许,请考虑使用环境变量。您的生产服务器可能有一个环境变量值,而开发服务器有另一个值。然后在执行您的应用程序时,您可以检测环境变量的值并相应地设置“调试”。

于 2013-01-16T20:55:37.967 回答
1

我不喜欢使用环境变量。尝试使其与您的应用程序配置一起使用,可以通过以下方式覆盖:

  • 导入非版本化文件(在开发环境中),并try-except带有适当的日志通知。
  • 命令行参数(argparse来自标准库)
于 2013-01-29T18:44:21.113 回答