一、需求:
flask接口文件启动后,即时返回 ‘访问成功’,之后继续执行,文档中的功能函数。
二、方法:
使用flask自带的一个函数即可解决。flask_executor
模块
三、代码实现
pip install flask_executor #安装
demo案例:
from flask import Flask
from flask_executor import Executor
from distributed.Executor import submit
```python
import time
app = Flask(__name__)
executor = Executor(app)
@app.route('/', methods=["POST", "GET"])
def pred():
def test_function():
"""
execute codde
"""
time.sleep(20)
print('xiitonglasf')
return '测试失败'
executor.submit(test_function)
print('哈哈')
return '中国人0000真的好'
if __name__=="__main__":
app.run()
就是这么优雅!!
完美!!
四、Flask中的before_first_request被弃用了,如何更新代码?
在 Flask 中,before_first_request
被弃用了,因为它会在每个进程的第一次请求发生时都执行,而不仅仅是在第一次请求发生时执行一次。因此,
可以这么做:
全局变量:
在全局作用域中执行初始化代码,确保在任何请求处理之前完成。这种方法同样可以达到before_first_request
的作用
from flask import Flask, request
app = Flask(__name__)
has_initialized = False
@app.route('/')
def hello_world():
print("hi")
return "hello world "
def initialize():
#初始化函数 我们需要初始执行的函数
print('hello world.................654646546465..')
pass
@app.before_request
def first_request():
global has_initialized
if not has_initialized:
initialize()
has_initialized = True
print('hello world...................')
if __name__ == '__main__':
app.run(debug=True)