2016-12-03 8 views
0

私はFlaskアプリケーションを実行するためにgunicornを使用しています。アプリケーションの開始時とシャットダウン前に何らかのアクションを実行するためにサーバーフックを登録したいと思いますが、これらの関数に変数を渡す方法と、その中で作成された変数を抽出する方法を混乱させています。 gunicorn.conf.pyでgunicornのサーバーフックで作成された変数の使用方法は?

:app.pyで

bind = "0.0.0.0:8000" 
workers = 2 
loglevel = "info" 
preload = True 

def on_starting(server): 
    # register some variables here 
    print "Starting Flask application" 

def on_exit(server): 
    # perform some clean up tasks here using variables from the application 
    print "Shutting down Flask application" 

、サンプルフラスコアプリケーション:

とても似gunicorn実行
from flask import Flask, request, jsonify 

app = Flask(__name__) 

@app.route('/hello', methods=['POST']) 
def hello_world(): 
     return jsonify(message='Hello World') 

if __name__ == '__main__': 
    app.run(host='0.0.0.0', port=9000, debug=False) 

$ gunicorn -c gunicorn.conf.py app:app

答えて

0

あなたが何をしようとしていますwsgiインタフェースと要求の間で状態が管理される方法のために達成できません。

0

フックに渡す必要があるデータを環境変数に置きます。

また、フックに渡すデータと、フックに渡すデータをファイルに保存することもできます。

関連する問題