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中的五种异常处理机制介绍
Sep 02 Python
python遍历数组的方法小结
Apr 30 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
python生成密码字典的方法
Jul 06 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
Django 数据库同步操作技巧详解
Jul 19 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
Python读取JSON数据操作实例解析
May 18 Python
浅谈Python数学建模之整数规划
Jun 23 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获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
js Dialog 实践分享
2012/10/22 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
JS中call和apply函数用法实例分析
2018/06/20 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
跟老齐学Python之for循环语句
2014/10/02 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
为什么Python中没有"a++"这种写法
2018/11/27 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
Hammitt官网:设计师手袋
2020/05/23 全球购物
信息技术毕业生自荐信范文
2014/03/13 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
2014年财政工作总结
2014/12/10 职场文书
建议书范文
2015/02/05 职场文书
大学同学聚会感言
2015/07/30 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书