如何从应用代码访问Gunicorn的配置参数?
我有一个用 gunicorn 运行的 Werkzeug 应用程序。我的脚本目录结构大概是这样的:
prj/
__init__.py
application.py :which has a WSGI application object "wsgi_app".
settings_app.py :settings for werkzeug applicaiton code.
然后,我通常会用下面的命令行来启动这个 Werkzeug 应用程序,使用 gunicorn。
$ gunicorn --worker-class=gevent --bind=0.0.0.0:80 --workers=5 --daemon [--debug] prj.application:wsgi_app
当我使用 "--debug" 这个选项时,gunicorn 会开启调试模式。因为 gunicorn 的 "debug" 变量只影响 gunicorn 自身的行为,所以我还在 "settings_app.py" 文件里设置了 "DEBUG" 变量,以改变应用程序的行为(比如日志级别、模板目录等等)。我觉得这样有点重复。而且,命令行中的 "debug" 选项不能覆盖后面的 "DEBUG" 变量。
如果我能在应用程序代码中引用 gunicorn 的配置变量,就可以省去这些重复的变量设置。
请问,如何在应用程序代码中访问 gunicorn 的配置变量?
谢谢。
2 个回答
1
你可以在Gunicorn解析参数之前使用optparse。
1
现在没有直接的方法可以把Gunicorn的配置参数导入到你的应用代码里。
不过,你可以使用一些配置钩子,自动在你的应用代码中设置调试变量。