2010-11-19 2 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"변수를 무시할 수 없습니다.

응용 프로그램 코드에서 gunicorn의 구성 변수를 참조 할 수 있으면 해당 변수의 중복 사본을 생략 할 수 있습니다.

응용 프로그램 코드에서 gunicorn의 구성 변수에 액세스하는 방법은 무엇입니까?

감사합니다.

답변

1

현재 Gunicorn 구성 매개 변수를 응용 프로그램 코드로 가져올 수있는 직접적인 방법은 없습니다.

다양한 구성 후크 중 하나를 사용하면 응용 프로그램 코드에 디버그 변수를 자동으로 설정할 수 있습니다.

+0

감사합니다. 이해 했어요. 당신이 말했듯이, gunicorn은 몇 가지 갈고리를 가지고 있습니다. 일부 gunicorn 후크 ("post_form"또는 "pre_request")로 Werkwzug WSGI 응용 프로그램에 gunicorn 구성 클래스 인스턴스를 바인딩 할 수 있습니다. 나는 그것을 점검 할 것이다. – takaomag

+0

나는 optparse와 argparse를 잊어 버렸다. 둘 다 gunicorn의 명령 행 옵션과 인수를 구문 분석 할 수 있습니다. 그래서 현재의 gunicorn의 매개 변수를 응용 프로그램 코드에서 얻을 수 있습니다. – takaomag

1

Gunicorn이 args를 구문 분석하기 전에 optparse를 사용할 수 있습니다.