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

How to execute some code before flask socket.io server starts?

我有一个基于 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).

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

使用<a href="http://flask.pocoo.org/docs/0.12/api/#flask.Flask.before_first_request" rel="nofollow noreferrer">before_fist_request</a>

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

更新: