定时任务框架
APScheduler提供了基于间隔、周期及时间的定时任务
在命令行安装
# Linux操作系统:sudo pip install apscheduler # Windows操作系统:pip install apscheduler
调度器
阻塞 BlockingScheduler:主程序将等待调度器的执行
后台 BackgroundScheduler:调度器不影响主程序,但随主程序结束而停止(适用于长时间运行程序)
触发器
间隔 IntervalTrigger:根据间隔重复执行函数
from apscheduler.triggers.interval import IntervalTrigger from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.schedulers.background import BackgroundScheduler def job01(): print("工作") # 1. 创建调度器 # scheduler = BackgroundScheduler() # 后台调度器对象 scheduler = BlockingScheduler() # 阻塞调度器对象 # 2. 添加任务 # xx调度器对象.add_job(任务函数, 触发器对象) # 间隔2秒执行一次 scheduler.add_job(job01, IntervalTrigger(seconds=2)) # 3. 开启调度 # xx调度器对象.start() scheduler.start()
周期 CronTrigger:根据周期重复执行函数
from apscheduler.triggers.cron import CronTrigger from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.schedulers.background import BackgroundScheduler def job01(): print("工作") # 1. 创建调度器 # scheduler = BackgroundScheduler() # 后台调度器对象 scheduler = BlockingScheduler() # 阻塞调度器对象 # 2. 添加任务 # xx调度器对象.add_job(任务函数, 触发器对象) # 每周五7点30分执行一次 scheduler.add_job(job01, CronTrigger(week=4, hour=7, minute=30)) # 3. 开启调度 # xx调度器对象.start() scheduler.start()
时间 DateTrigger:根据时间执行一次函数
from datetime import datetime, timedelta from apscheduler.triggers.date import DateTrigger from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.schedulers.background import BackgroundScheduler def job01(): print("工作") # 1. 创建调度器 # scheduler = BackgroundScheduler() # 后台调度器对象 scheduler = BlockingScheduler() # 阻塞调度器对象 # 2. 添加任务 # xx调度器对象.add_job(任务函数, 触发器对象) # 延迟3秒后执行一次 scheduler.add_job(job01, DateTrigger(datetime.now() + timedelta(seconds=3))) # 3. 开启调度 # xx调度器对象.start() scheduler.start()
标签:框架,python,调度,apscheduler,对象,scheduler,BackgroundScheduler,import,定时 From: https://www.cnblogs.com/xmgcool/p/16986238.html