APScheduler
的从初识到源码阅读已经完结撒花了,再来一个导读的目录,就算是真正的完整了~
Advanced Python Scheduler(APScheduler)
是 python
下一个超强大的定时任务框架,整体的使用难度不大,还是很值得学习和使用的
这篇文章是自己学习 APScheduler
过程中,对自己整理的所有笔记做了一个导读的目录,其中包括使用的说明,常用 API 的整理, 以及对它所有核心模块的源码阅读
一个必须强调的点,我所有的源码解析都是基于 APScheduler
的 3.6.3
版本
温馨提示: 本文的标题可以直接跳转到具体的文章~
Python APScheduler入门
这篇文章主要翻译 官方 对于 APScheduler
入门级的介绍,提供了哪些功能,可以实现哪些需求等等
自己也顺便举了一些比较方便阅读的例子,方便快速的使用这个库
APScheduler API总结
这篇文章主要总结了 APScheduler
各个模块提供的一些关键的常用 API
更完整的 API 整理 ,可以查看 官方文档
APScheduler 源码阅读(一) executors
分析 APScheduler
执行器 executor
的源码,先从最简单的开始分析
APScheduler 源码阅读(一) job
分析 APScheduler
任务 job
的源码
Job
比较核心的部分应该算是修改的 _modify()
函数,以及序列化和反序列化这部分代码
APScheduler 源码阅读(三) jobstores
主要介绍了基类 BaseJobStore
以及 2 个比较特色的子类 MemoryJobStore
以及 RedisJobStore
可以发现 JobStore
核心就是如何维护好一个以 job.next_run_time
大小为标准排好序的列表以及如何保存所有任务以便于检索~
APScheduler 源码阅读(四) triggers(一)
详细的介绍了基类 BaseTrigger
以及在固定时间执行一次的 DateTrigger
和以固定时间间隔运行任务的 IntervalTrigger
,整体代码难度不大~
APScheduler 源码阅读(四) triggers(二)
这篇文章主要是为 CronTrigger
触发器铺路,整理所有的正则表达式匹配的类的实现
APScheduler 源码阅读(四) triggers(三)
详细介绍了 CronTrigger
的实现,针对时间的每一字段做了定制化的设置,实现的思路还是很值得好好理解的~
APScheduler 源码阅读(四) triggers(四)
分析了 OrTrigger
和 AndTrigger
这 2 种复合的触发器,意外的发现了一些设计上的bug
, 最后得出以下 2 个建议:
- 不要在
OrTrigger
中同时设置多个DateTrigger
的时候 ! - 不要使用
AndTrigger
!
当然上面的建议是基于 3.6.3
版本的, 4.0
版本大佬们正在开发, 期待他们的实现思路
APScheduler 源码阅读(五) schedulers
调度所有的模块的基类 BaseScheduler
以及它其中一个子类 BlockingScheduler
的源码分析
算是自己整理完的第一个系列,要个赞不过分吧~