上篇文章,我们了解到有三种办法能实现定时任务,但是都无法做到循环执行定时任务。因此,需要一个能够担当此重任的库。它就是 APScheduler。
1 简介
APScheduler 的全称是 Advanced Python Scheduler 。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。
2 安装
使用 pip 包管理工具安装 APScheduler 是最方便快捷的。
pip install APScheduler
# 如果出现因下载失败导致安装不上的情况,建议使用代理
pip --proxy http://代理ip:端口 install APScheduler
3 使用步骤
APScheduler 使用起来还算是比较简单。运行一个调度任务只需要以下三部曲。
1) 新建一个 schedulers (调度器) 。
2) 添加一个调度任务(job stores)。
3) 运行调度任务。
下面是执行每 2 秒报时的简单示例代码:
import datetime
import time
from apscheduler.schedulers.background import BackgroundScheduler
def timedTask():
print(datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3])
if __name__ == '__main__':
# 创建后台执行的 schedulers
scheduler = BackgroundScheduler()
# 添加调度任务
# 调度方法为 timedTask,触发器选择 interval(间隔性),间隔时长为 2 秒
scheduler.add_job(timedTask, 'interval', seconds=2)
# 启动调度任务
scheduler.start()
while True:
print(time.time())
time.sleep(5)
4 基础组件
APScheduler 有四种组件,分别是:调度器(scheduler),作业存储(job store),触发器(trigger),执行器(executor)。
-
schedulers&#x