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 相关文章推荐
Django中模型Model添加JSON类型字段的方法
Jun 17 Python
pycharm远程调试openstack代码
Nov 21 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
python实现顺时针打印矩阵
Mar 02 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
tensorflow安装成功import tensorflow 出现问题
Apr 16 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
Python如何生成xml文件
Jun 04 Python
python的launcher用法知识点总结
Aug 07 Python
python自动化测试之Selenium详解
Mar 13 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
实用函数7
2007/11/08 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
微信access_token的获取开发示例
2015/04/16 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
jQuery 改变P标签文本值方法
2018/02/24 jQuery
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
利用ctypes提高Python的执行速度
2016/09/09 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python 字典的打印实现
2019/09/26 Python
python的range和linspace使用详解
2019/11/27 Python
python 变量初始化空列表的例子
2019/11/28 Python
python中np是做什么的
2020/07/21 Python
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
网络程序员自荐信
2014/01/25 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
红歌会主持词
2015/07/02 职场文书
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang