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 不同对象比较大小示例探讨
Aug 21 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
Python reduce()函数的用法小结
Nov 15 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python中一行和多行import模块问题
Apr 01 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
Python中的全局变量如何理解
Jun 04 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
python自动生成证件号的方法示例
Jan 14 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
德生PL330的评价与改造
2021/03/02 无线电
PHP生成静态页
2006/11/25 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
jquery对ajax的支持介绍
2013/12/10 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
python操作xml文件示例
2014/04/07 Python
Python使用django搭建web开发环境
2017/06/09 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python实现图书管理系统
2018/03/12 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
python安装scipy的步骤解析
2019/09/28 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
SQL注入攻击的种类有哪些
2013/12/30 面试题
消防安全检查制度
2014/02/04 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
环卫工作汇报材料
2014/10/28 职场文书
实验室安全管理制度
2015/08/05 职场文书