小编Hen*_*zen的帖子

如何每秒运行一次函数,与 Flask 上的请求分开?

我正在 Flask 中开发一个简单的 API,它不是 REST 或任何东西。

有一个模块可以返回列表中的实时数据。

有问题的模块

# module.py
def get_data():
    do_something()
    return [info_from_somewhere, info_from_other_place]
Run Code Online (Sandbox Code Playgroud)

还有应用程序

# app.py
import module

@app.route('/')
def get_data():
    return jsonify(data=module.get_data()[0])
Run Code Online (Sandbox Code Playgroud)

问题是,每次有人请求该路由时,这都会运行该函数。由于数据只有一个,所以我想为每个请求提供它,但只运行该函数一次。

编辑:我尝试过这个:

got_data = module.get_data()

@app.route('/')
def get_data():
    return jsonify(data=got_data[0])
Run Code Online (Sandbox Code Playgroud)

有效,但不要刷新列表。所以我的问题是“我怎样才能每秒刷新它?” 我尝试睡眠,但它冻结了我的应用程序

python flask

2
推荐指数
1
解决办法
3626
查看次数

标签 统计

flask ×1

python ×1