github中介绍
Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code to be executed later, either just once or (高级python调度器是一个python库,它可以调度python代码延迟运行,运行一次,定期运行,简称为apscheduler,) periodically. You can add new jobs or remove old ones on the fly as you please. If you store your jobs in a database, they will also survive scheduler (你可以在匆忙中按照自己情况添加新的任务或者删除之前的任务,如果你将任务存储在数据库中,调度器将会重启这些任务并且保持运行任务状态,) restarts and maintain their state. When the scheduler is restarted, it will then run all the jobs it should have run while it was offline
概述
APScheduler 是由python 实现的一个轻量级任务调度器,可以按照一定的间隔intervalTrigger,指定时间的形式触发待执行的任务(即调用函数或者调用python 的callable对象)
模块组织
scheduler调度器的核心部分,负责对job的管理和调度,用户使用添加任务,移除任务,启动调度器都会通过scheduler提供的接口完成 job 封装了需要调度的任务,每一个job实例是在scheduler添加job时候被初始化,具体的初始化参数决定了调度被触发的形式(3类不同的trigger) trigger包含simpletrigger,intervaltrigger 和crontrigger三个类,trigger的作用就是计算下一次触发任务的时间 jobstore抽象基类,针对任务存储的介质有多个实现,包括基于内存ramjobstore,使用shelve的简单持久化存储shelvejobstore,使用数据库存储redisjobstore,mongodbjobstore等,如果不指定参数默认使用ramjobstore,使用持久化的jobstore的目的是在scheduler重启之后能够恢复原有的任务调度