安装
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