APScheduler的简单记录

此工具作为 定时任务调度 系统,在日常业务中经常使用,如定时获取第三方数据,定时清理数据 等等;

 

定时任务 和 业务逻辑 编写方式 一般有2种:

以 定时 清理db数据为例,在flask中,如下:

1.定时任务中 通过 requests 调用自己服务的接口;具体清理数据的业务逻辑在 调用的接口内执行  (优点:结构清晰,负责工作界限分明;缺点:通过定时任务找接口比较麻烦)

2.通过 scheduler.app.app_context() 方法 直接在定时任务中 调用 orm 进行相关业务逻辑处理 (优点:定时任务和业务在一起,查看容易  缺点:有点耦合。。。),代码如下:

具体使用哪种方式,根据实际情况决定;

 

同一个任务多种触发方式通过装饰器实现:

注意: task 的 id 不能重复,否则失效

 

 

引用翻译的网址:https://www.jianshu.com/p/4f5305e220f0

英文官网教程:https://apscheduler.readthedocs.io/en/latest/userguide.html

 

posted @ 2019-07-18 19:13  RGC  阅读(558)  评论(0编辑  收藏  举报