前言:由于项目需要,要添加一个定期清除已下载文件的功能,初期想到的是循环监听,定期删除,但这样会有一个很大的弊端,线程阻塞。于是便去查找框架,找到了 APScheduler Python最强定时任务框架(非阻塞的异步框架)。
注意:本文不作详细教程,仅记录实际使用过程,内容全部来自官方文档
文档地址[Flask应用推荐查看第二篇]:
安装
pip install flask_apscheduler
使用
from flask import Flask
from flask_apscheduler import APScheduler
# set configuration values
class Config:
SCHEDULER_API_ENABLED = True
app = Flask(__name__)
# 加载配置文件
app.config.from_object(Config())
scheduler = APScheduler()
# 注册|关联flask应用
scheduler.init_app(app)
scheduler.start()
@app.route('/')
def hello_world():
return 'Hello World!'
# 每隔30秒执行一次
# @scheduler.task('interval', id='随便写', seconds=30, misfire_grace_time=900)
# 每周末执行一次
@scheduler.task('cron', id='do_job_1', week='*', day_of_week='sun')
def my_timed_task():
print('你要执行的定时任务~')
if __name__ == '__main__':
app.run()