Flask定时任务

安装

pip install flask_apscheduler

初始化

scheduler.py

from flask_apscheduler import APScheduler
import os

scheduler = APScheduler()

def init_app(app):
  # 防止重复启动
  if os.environ.get("SCHEDULER_LOCK") == "True":
    return
  os.environ["SCHEDULER_LOCK"] = "True"
  scheduler.init_app(app)
  scheduler.start()

app.py

from flask import Flask
import scheduler

app = Falsk(__name__)
scheduler.init_app(app)

if __name__ == "__main__":
  app.run()

实际运行中遇到的问题

RuntimeError: Working outside of application context.

解决方案:

from scheduler import scheduler

def task():
  with scheduler.app.context():
    # do some thing
    pass

配置任务参考

https://www.jianshu.com/p/4c5bc85fc3fd
https://zhuanlan.zhihu.com/p/411038616

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容