Flask结合APScheduler实现定时任务框架
2017-06-11 20:22
1521 查看
APScheduler是一款功能非常强大的定时任务框架。利用APScheduler框架我们可以很方便实现一个基于Python的定时任务系统。Flask提供了对应的Flask-APScheduler来集成APScheduler功能。
其中id是一个标识,func指定定时执行的函数,args指定输入参数列表,trigger指定任务类型,如interval表示时间间隔,具体参见APScheduler相关说明。seconds表示时间周期,单位是秒。
0x01 安装
pip install Flask-APScheduler
0x02 配置任务
在Flask的配置文件中加入APScheduler的配置信息:#Schduler config JOBS = [ { 'id': 'createschuler_job', 'func': 'module:func', 'args': None, 'trigger': 'interval', 'seconds': 5*60 } ]
其中id是一个标识,func指定定时执行的函数,args指定输入参数列表,trigger指定任务类型,如interval表示时间间隔,具体参见APScheduler相关说明。seconds表示时间周期,单位是秒。
0x03 启动任务
在Flask启动文件中加入APScheduler对象的定义并启动:from flask_apscheduler import APScheduler ... #create scheduler scheduler=APScheduler() … app=Flask(__name__) app.config.from_object('config') … scheduler.init_app(app) … #trigger schduler scheduler.start() … app.run(debug=True)
0x04 注意事项
需要注意的是,在定时执行的函数func的实现过程中,需要注意Flask 的 Context 机制,比如在func中需要基于Flask-SQLAlchemy访问数据库,需要这么处理:… #Get features list with app.app_context(): list_Users= db.session.query(Users).all() …
0x05 后记
上面的配置信息指定了一个APScheduler定时任务,其实APScheduler非常强大,还可以有很多其他形式的配置方式,可以参见APScheduler相关文档,这里就不再赘述了。相关文章推荐
- Python任务调度模块 – APScheduler,Flask-APScheduler实现定时任务
- Quartz 框架和cron表达式任务调度的例子(spring下实现定时发送邮件)
- 分布式定时任务框架——python定时任务框架APScheduler扩展
- android Service重启问题,结合AlarmManager实现定时任务
- java计划任务调度框架quartz结合spring实现调度的配置实例代码分享
- android,结合Timer和TimerTask实现定时任务
- 【转】Spring结合Quartz实现多任务定时调用
- 分布式定时任务框架——python定时任务框架APScheduler扩展
- android Service重启问题,结合AlarmManager实现定时任务
- quartz java实现的定时任务框架
- Android杂谈之Handler与timer及TimerTask结合实现定时任务
- Spring结合Quartz实现多任务定时调用
- 分布式定时任务框架——python定时任务框架APScheduler扩展
- tomcat结合Java定时任务工具实现web中的定时任务
- Spring结合Quartz实现多任务定时调用
- Python定时任务框架APScheduler
- 使用任务计划功能结合shutdown命令让Win7实现定时自动执行
- java计划任务调度框架quartz结合spring实现调度的配置实例代码分享
- javaWeb监听器结合定时器实现定时执行任务
- Quartz.Net定时任务框架,实现灵活的定时任务