APScheduler是一款功能非常强大的定时任务框架。利用APScheduler框架我们可以很方便实现一个基于Python的定时任务系统。Flask提供了对应的Flask-APScheduler来集成APScheduler功能。
1)安装
pip install Flask-APScheduler
2)代码:
from flask_apscheduler import APScheduler
from flask import Flask
class Config(object):
JOBS=[
{
'id':'job1',
'func':'__main__:job_1',
'args':(1,2),
'trigger':'cron',
'hour':17,
'minute':8
},
{
'id':'job2',
'func':'__main__:job_1',
'args':(3,4),
'trigger':'interval',
'seconds':5
}
]
def job_1(a,b): # 一个函数,用来做定时任务的任务。
print(str(a)+' '+str(b))
app=Flask(__name__) # 实例化flask
app.config.from_object(Config())# 为实例化的flask引入配置
@app.route('/') # 首页路由
def hello_world():
return 'hello'
if __name__=='__main__':
scheduler=APScheduler() # 实例化APScheduler
scheduler.init_app(app) # 把任务列表放进flask
scheduler.start() # 启动任务列表
app.run() # 启动flask
JOBS配置文件中:其中id是一个标识,func指定定时执行的函数,args指定输入参数列表,trigger指定任务类型,如interval表示时间间隔,seconds表示时间周期,单位是秒
3)执行结果
控制台输出:
