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数组的处理代码
Jan 04 Python
Python中的魔法方法深入理解
Jul 09 Python
python批量生成本地ip地址的方法
Mar 23 Python
Python中optparser库用法实例详解
Jan 26 Python
python多维数组切片方法
Apr 13 Python
python中pip的安装与使用教程
Aug 10 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
python logging.basicConfig不生效的原因及解决
Feb 20 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
下载糗事百科的内容_python版
2008/12/07 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
美国家居装饰店:Pier 1
2019/09/04 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
大学生年度自我鉴定
2013/10/31 职场文书
工作表现自我评价
2014/02/08 职场文书
《乌塔》教学反思
2014/02/17 职场文书
社区服务标语
2014/07/01 职场文书
村道德模范事迹材料
2014/08/28 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
2014财务年度工作总结
2014/11/11 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
大学生军训感言
2015/08/01 职场文书