2010-11-19 5 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フック( "post_form"または "pre_request"?)によってWerkwzug WSGIアプリケーションにgunicorn構成クラスインスタンスをバインドすることができるかもしれません。私はそれをチェックするだろう。 – takaomag

+0

私はoptparseとargparseを忘れていました。どちらもgunicornのコマンドラインオプションと引数を解析できます。したがって、現在のgunicornのパラメータをアプリケーションコードで取得できます。 – takaomag

1

gunicornがargsを解析する前に、optparseを使用できます。

関連する問題