python - 如何在 Python 中使用 Flask 执行周期性任务

标签 python web-services api flask wsgi

我一直在使用 Flask为我的 k8055 提供一个简单的网络 API USB接口(interface)板;相当标准的 getters 和 putters,Flask 确实让我的生活轻松多了。

但我希望能够在乳清发生时将状态更改注册为/接近。

例如,如果我有一个按钮连接到板上,我可以轮询该特定端口的 api。但是如果我想让输出直接反射(reflect)输出,无论是否有人在与 api 对话,我都会有这样的东西。

while True:
    board.read()
    board.digital_outputs = board.digital_inputs
    board.read()
    time.sleep(1)

每一秒,输出都会更新以匹配输入。

有没有办法在Flask下做这种事?我以前在 Twisted 中做过类似的事情,但是 Flask 对这个特定的应用程序来说太方便了,还不能放弃它......

谢谢。

最佳答案

对于我的 Flask 应用程序,我考虑使用 Pashka 在他的 answer 中描述的 cron 方法。 , schedule图书馆,和APScheduler .

我发现 APScheduler 很简单并且可以满足周期性任务运行的目的,所以继续使用 APScheduler。

示例代码:

from flask import Flask

from apscheduler.schedulers.background import BackgroundScheduler


app = Flask(__name__)

def test_job():
    print('I am working...')

scheduler = BackgroundScheduler()
job = scheduler.add_job(test_job, 'interval', minutes=1)
scheduler.start()

关于python - 如何在 Python 中使用 Flask 执行周期性任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810461/

相关文章:

web-services - 使用 Consul 追踪所有 REST 端点

python - 两个独立的 Flask 应用程序在 Docker 容器中进行通信

python - 如何在 Python 中使用 SSL 和身份验证连接到 SOAP 服务(没有 WSDL)?

php - 来自 html 中单个页面的多个 Web 服务请求

javascript - Ionic Serve- XMLHttpRequest 无法在浏览器上加载

php - 如何从电子邮件地址获取 Linkedin 的头像

python - 异常: error while installing jupyter on Ubuntu

python - python3-tkinter 中的只读文本小部件;跨平台

python - Django REST框架序列化模型组合

python - 检测无效文件输入,Python