如何在flask socket.io服务器启动之前执行一些代码?

时间:2017-06-01 07:21:07

标签: python sockets flask flask-socketio

我有一个基于flask-socketIO的应用程序。我想在烧瓶服务器启动之前执行一些代码。 我的app.py文件如下所示:

from flask import Flask
from flask_cors import CORS
from flask_socketio import SocketIO


app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
CORS(app)

@socketio.on('connect')
def test_connect():
    print("Client connected")


@socketio.on('disconnect')
def test_disconnect():
    print('Client disconnected')

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

当我运行程序:FLASK_APP=app.py flask run --host=0.0.0.0时,我得到如下控制台输出:* Serving Flask-SocketIO app "app" 然后一些客户连接到我的应用程序,它按预期工作,但我希望看到print高于socketio.run(app)

如何在服务器启动之前执行代码?

1 个答案:

答案 0 :(得分:2)

使用before_fist_request

@app.before_first_request
def your_function():
    print("execute before server starts")

更新: enter image description here