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爬虫
Dec 25 Python
Python中几种操作字符串的方法的介绍
Apr 09 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
详解Python_shutil模块
Mar 15 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
利用python实现周期财务统计可视化
Aug 25 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
python实现同一局域网下传输图片
Mar 20 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
python爬虫要用到的库总结
Jul 28 Python
python基础之函数的定义和调用
Oct 24 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
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
javascript arguments使用示例
2014/12/16 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
Python 爬虫模拟登陆知乎
2016/09/23 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
python实现发送邮件功能代码
2017/12/14 Python
用Python读取几十万行文本数据
2018/12/24 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
前台领班岗位职责
2013/12/04 职场文书
对公司合理化的建议书
2014/03/12 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
大学生团员个人总结
2015/02/14 职场文书
严以用权学习心得体会
2016/01/12 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书