2016-12-03 5 views
0

Я использую gunicorn для запуска своего приложения для фляшек. Я хотел бы зарегистрировать крючки серверов для выполнения некоторых действий в начале приложения и перед закрытием, но я смущен тем, как передавать переменные этим функциям и как извлекать переменные, созданные в них.Как использовать переменные, созданные в серверных крючках gunicorn?

В gunicorn.conf.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" 

В app.py, применение образца Колба:

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 так: $ gunicorn -c gunicorn.conf.py app:app

ответ

0

Что вы пытаетесь достичь невозможно из-за интерфейса wsgi и способа управления состоянием между запросами.

0

Поместите данные, необходимые для перехода на крючки в переменные окружения.

Вы также можете хранить данные, которые должны быть переданы на крючки и из них в файлах.