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 七种邮件内容发送方法实例
Apr 22 Python
用python读写excel的方法
Nov 18 Python
Python实现简单状态框架的方法
Mar 19 Python
Python中一些自然语言工具的使用的入门教程
Apr 13 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
python中的编码知识整理汇总
Jan 26 Python
树莓派实现移动拍照
Jun 22 Python
python mqtt 客户端的实现代码实例
Sep 25 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
Mar 09 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
Python排序函数的使用方法详解
Dec 11 Python
python实现简单的名片管理系统
Apr 26 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简单提示框alert封装函数
2010/08/08 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
Node.js文件操作详解
2014/08/16 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
jQuery设计思想
2017/03/07 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
如何使用python操作vmware
2019/07/27 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
如何利用cmp命令比较文件
2013/09/23 面试题
开工庆典邀请函范文
2014/01/16 职场文书
教师评语大全
2014/04/28 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL