flask使用flask_apscheduler实现定时任务
安装
默认情况下,以这种方法可以实现安装
pip install flask_apscheduler
如果出现超时,可以以下面这种方式安装
pip install flask_apscheduler -i http://mirrors.aliyun.com/pypi/simple/
使用
配置相关功能
class APSchedulerJobConfig(object):
SCHEDULER_API_ENABLED = True
JOBS = [
{ # 固定时间触发任务
'id': '1', # 任务id,唯一
'func': 'app.api.v1.scheduler:get_fund', # ‘执行文件索引:该文件实现定时任务的方法’
'args': (1, 2), # 方法需要传进的参数
'trigger': 'cron', # 触发类型
'hour': 21, # 定时-小时
'minute': 50 # 定时-分钟
},
{ # 每间隔5s执行一次
'id': '2',
'func': 'app.api.v1.scheduler:get_fund',
'args': (3, 4),
'trigger': 'interval', # 触发类型,间隔时间触发
'seconds': 5 # 定时-秒
}
]
将配置初始化到flask对象中
# 导入flask_apscheduler
from flask_apscheduler import APScheduler
# 导入配置内容所在的文件
from app.config.tasks import APSchedulerJobConfig
# 实例化APScheduler
scheduler = APScheduler()
# 把任务列表放进flask
scheduler.init_app(app)
# 启动任务列表
scheduler.start()
定义定时任务触发函数
@api.route('', methods=['GET'])
def take_scheduler():
return 'hello world'
# 用来做定时任务
def get_fund(a, b):
print(str(a) + ' ' + str(b))
这样运行flask后就可以实现定时任务了
本文来自博客园,作者:七夜魔手,转载请注明原文链接:https://www.cnblogs.com/ranbox/p/18461086