python APScheduler执行定时任务介绍


Posted in Python onApril 19, 2022

一、安装

pip install apscheduler

二、定时执行一次

  • 新建一个scheduler调度器
  • 添加一个job store调度任务
  • 运行调度任务
import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def task(name):
print('%s告诉你现在时间是:%s' . format(name, datetime.datetime.now()))

# 该任务将会在2022-05-20 13:14:52执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, 'date', run_date=datetime.datetime(2022, 5, 20, 13, 14, 52), args=['autofelix'], id='task')
scheduler.start()

三、间隔执行

  • 当你调度作业的时候,你需要为这个作业选择一个触发器,用来描述这个作业何时被触发
  • date 一次性指定日期
  • interval 在某个时间范围内间隔多长时间执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('我是飞兔小哥')

# 每隔10秒数执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, 'interval', seconds=10, id='task')
scheduler.start()

四、每日定时执行一次

  • cron 和Linux crontab格式兼容,最为强大
from apscheduler.schedulers.blocking import BlockingScheduler

f = open('status.text', 'a', encoding='utf8')
sc = BlockingScheduler()
@sc.scheduled_job('cron', day_of_week='*', hour=1, minute='30', second='50')

if name == '__main__':
try:
sc.start()
f.write('定时任务成功执行')
except Exception as e:
sc.shutdown()
f.write('定时任务执行失败')
finally:
f.close()

五、每几分钟执行一次

  • /2:每隔2分钟执行一次
  • /1:每隔1分钟执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('你的任务每隔2分钟执行一次')

scheduler = BlockingScheduler()
scheduler.add_job(job1, 'cron', minute="/2", id='task')
scheduler.start()

六、每小时执行一次

  • jitter:代表可以上下浮动的秒数
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('你的任务每隔1小时执行一次')

scheduler = BlockingScheduler()
scheduler.add_job(task, 'interval', hours=1, id='task')
# scheduler.add_job(task, 'interval', hours=1, id='task', jitter=120)
scheduler.start()

七、调度器分类

  • BlockingScheduler : 当调度器是你应用中唯一要运行的东西时
  • BackgroundScheduler : 当你没有运行任何其他框架并希望调度器在你应用的后台执行时使用(充电桩即使用此种方式)
  • AsyncIOScheduler : 当你的程序使用了asyncio(一个异步框架)的时候使用
  • GeventScheduler : 当你的程序使用了gevent(高性能的Python并发框架)的时候使用
  • TornadoScheduler : 当你的程序基于Tornado(一个web框架)的时候使用
  • TwistedScheduler : 当你的程序使用了Twisted(一个异步框架)的时候使用
  • QtScheduler : 如果你的应用是一个Qt应用的时候可以使用

到此这篇关于python 包之 APScheduler 定时任务 的文章就介绍到这了!

Python 相关文章推荐
Python 流程控制实例代码
Sep 25 Python
Python实现堆排序的方法详解
May 03 Python
Python网络编程详解
Oct 31 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
Python数据可视化之Seaborn的安装及使用
python 闭包函数详细介绍
Apr 19 #Python
Python  lambda匿名函数和三元运算符
Apr 19 #Python
Python使用mitmproxy工具监控手机 下载手机小视频
使用Python通过企业微信应用给企业成员发消息
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 #Python
python在package下继续嵌套一个package
Apr 14 #Python
You might like
PHP4实际应用经验篇(6)
2006/10/09 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php中OR与|| AND与&&的区别总结
2013/10/26 PHP
PHP中的类型约束介绍
2015/05/11 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
Python修改DBF文件指定列
2020/12/19 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
学期自我鉴定范文
2013/10/01 职场文书
化学系大学生自荐信范文
2014/03/01 职场文书
实习生评语
2014/04/26 职场文书
求职自我推荐信
2014/06/25 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP