Python定时库Apscheduler怎么用
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,小编给大家分享一下Python定时库Apscheduler怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在Python中需要执行定时任务,可以使用Apscheduler。Aps
千家信息网最后更新 2025年11月15日Python定时库Apscheduler怎么用
小编给大家分享一下Python定时库Apscheduler怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在Python中需要执行定时任务,可以使用Apscheduler。
Apscheduler是基于Quartz的Python定时任务框架,功能上跟Quartz一致,使用上跟Quartz也几乎一致。
核心的四个部分:
①触发器(trigger)、②作业存储(job store)、③执行器(executor)、④调度器(scheduler)
安装依赖:
pip install apscheduler
间隔时间调度:
from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime sched = BlockingScheduler()def test_job(): print(f'{datetime.now():%H:%M:%S} Test job') if __name__ == '__main__': sched.add_job(test_job, 'interval', id='test', seconds=5) sched.start()也可以使用装饰器:
from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime sched = BlockingScheduler() def test_job(): print(f'{datetime.now():%H:%M:%S} Test job') @sched.scheduled_job('interval', seconds=5)def test_decorator_job(): print(f'{datetime.now():%H:%M:%S} Test decorator job') if __name__ == '__main__': sched.add_job(test_job, 'interval', id='test', seconds=5) sched.start()运行结果:
BlockingScheduler()是调度器中的一种调度器
sched.add_job()是添加作业
sched.start()是开始任务
定时调度:
定时调度使用cron表达式进行,这里也带参数执行:
from apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetime scheduler = BlockingScheduler() def test_args(x): print (f'{datetime.now():%H:%M:%S} Test cron job', x) if __name__ == '__main__': scheduler.add_job(test_args, 'cron', args=('cron test',), second='*/5') scheduler.start()时间参数设置如下:
year (int|str) - 年,4位数字 month (int|str) - 月 (范围1-12) day (int|str) - 日 (范围1-31) week (int|str) - 周 (范围1-53) day_of_week (int|str) - 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun) hour (int|str) - 时 (范围0-23) minute (int|str) - 分 (范围0-59) second (int|str) - 秒 (范围0-59) start_date (datetime|str) - 最早开始日期(包含) end_date (datetime|str) - 最晚结束时间(包含) timezone (datetime.tzinfo|str) - 指定时区
接下来说一下其中的调度器:
BlockingScheduler:适用于调度程序是进程中唯一运行的进程,调用start函数会阻塞当前线程,不能立即返回。BackgroundScheduler:适用于调度程序在应用程序的后台运行,调用start后主线程不会阻塞。AsyncIOScheduler:适用于使用了asyncio模块的应用程序。GeventScheduler:适用于使用gevent模块的应用程序。TwistedScheduler:适用于构建Twisted的应用程序。QtScheduler:适用于构建Qt的应用程序。
其中使用得比较多的是前三种调度器。
删除任务:
scheduler.remove_job('task_id')
停止任务:
scheduler.pause_job('task_id')
恢复任务:
scheduler.resume_job('task_id')
立即执行任务next_run_time:
scheduler.add_job( test_job, 'interval', minutes=5, next_run_time=datetime.datetime.now() )
看完了这篇文章,相信你对"Python定时库Apscheduler怎么用"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
调度
任务
程序
范围
应用程序
应用
时间
运行
一致
参数
模块
篇文章
线程
进程
作业
阻塞
个部
函数
功能
后主
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山丹县网络安全宣传活动
期货交易服务器排名
超市服务器
孩子网络安全
数据库查询优化器的艺术下载
数据库原理与技术 王世民
建众互联网科技
用什么写数据库
四川云服务器创新互联
服务器员工管理软件
js如何实现数据库更新
上海至寻网络技术有限公司招人
万方数据库帐号共享
微信小程序数据库更新
学生使用手机数据库
工厂设备软件开发
数据库投影选择的嵌套运算
html5 数据库展示
软件开发需要什么数据库
数据库怎么查看表的列
万德数据库 学生
数据库上传木马
提报世界互联网领先科技成果
网络技术经验丰富
成都兰尤互联网科技有限公司
华为2288服务器
网络技术三级怎样
欧拉服务器企业怎么用
你与此公会当前未在同一个服务器
邯郸哪里有软件开发哪家便宜