Python-APScheduler导读

APScheduler 的从初识到源码阅读已经完结撒花了,再来一个导读的目录,就算是真正的完整了~

Advanced Python Scheduler(APScheduler)python 下一个超强大的定时任务框架,整体的使用难度不大,还是很值得学习和使用的

这篇文章是自己学习 APScheduler 过程中,对自己整理的所有笔记做了一个导读的目录,其中包括使用的说明,常用 API 的整理, 以及对它所有核心模块的源码阅读

一个必须强调的点,我所有的源码解析都是基于 APScheduler3.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(四)

分析了 OrTriggerAndTrigger 这 2 种复合的触发器,意外的发现了一些设计上的bug, 最后得出以下 2 个建议:

  • 不要在 OrTrigger 中同时设置多个 DateTrigger 的时候 !
  • 不要使用 AndTrigger !

当然上面的建议是基于 3.6.3 版本的, 4.0 版本大佬们正在开发, 期待他们的实现思路

APScheduler 源码阅读(五) schedulers

调度所有的模块的基类 BaseScheduler 以及它其中一个子类 BlockingScheduler 的源码分析

算是自己整理完的第一个系列,要个赞不过分吧~