首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Python Flask应用程序配置为每30秒调用一次函数

将Python Flask应用程序配置为每30秒调用一次函数
EN

Stack Overflow用户
提问于 2018-08-03 05:04:40
回答 1查看 608关注 0票数 0

我有一个返回JSON响应的flask应用程序。但是,我希望它每隔30秒调用一次该函数,而无需单击浏览器上的刷新按钮。下面是我所做的

使用apscheduler的

。这是application.py中的代码

from apscheduler.schedulers.background import BachgroundScheduler

def create_app(config_filname):  
    con = redis.StrictRedis(host= "localhost", port=6379, charset ="utf-8", decode_responses=True, db=0)
    application = Flask(__name__)
    CORS(application)
    sched = BackgroundScheduler()

    @application.route('/users')
    @cross_origin()
    @sched.scheduled_job('interval', seconds = 20)
    def get_users():
        //Some code...
        return jsonify(users)
    sched.start()
    return application

然后在我的wsgi.py中

from application import create_app
application = create_app('application.cfg')

with application.app_context():
    if __name__ == "__main__":   
        application.run()

当我运行这个应用程序时,我得到了json输出,但它并没有刷新,而是在20秒后抛出

RuntimeError:在应用程序上下文之外工作。这通常意味着您试图以某种方式使用与当前应用程序对象交互所需的功能。要解决此问题,请使用app.app_context()设置应用程序上下文。有关详细信息,请参阅文档。

我做错了什么?如果有任何建议,我将不胜感激。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51662155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档