2010-11-19 69 views
1

我在gunicorn上提供了一個Werkzeug應用程序。腳本目錄佈局看起來像這樣:如何從應用程序代碼訪問Gunicorn的配置參數?

prj/ 
    __init__.py 
    application.py :which has a WSGI application object "wsgi_app". 
    settings_app.py :settings for werkzeug applicaiton code. 

然後,我通常使用以下命令行在gunicorn上啓動Werkzeug應用程序。

$ 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的配置變量?

謝謝。

回答

1

目前沒有直接的方法可以將Gunicorn配置參數導入到應用程序代碼中。

你可以做的是使用各種配置鉤子之一來自動設置應用程序代碼中的調試變量。

+0

謝謝。我明白。正如你所說,gunicorn有一些鉤子。我可以通過一些gunicorn鉤子(「post_form」或「pre_request」?)將一個gunicorn配置類實例綁定到Werkwzug WSGI應用程序。我將檢查它。 – takaomag 2010-11-22 03:27:59

+0

我忘記了optparse和argparse。兩者都可以解析gunicorn的命令行選項和參數。所以,我可以在應用程序代碼中獲得當前gunicorn的參數。 – takaomag 2010-12-07 18:37:20

1

您可以在Gunicorn解析參數之前使用use optparse。

相關問題