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 01 Python
详解Python命令行解析工具Argparse
Apr 20 Python
Python的requests网络编程包使用教程
Jul 11 Python
Python守护线程用法实例
Jun 23 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
Feb 19 Python
如何使用Python实现自动化水军评论
Jun 26 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
Python如何将字符串转换为日期
Jul 31 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 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&&mysql)三
2006/10/09 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
JS event使用方法详解
2008/04/28 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
python使用turtle绘制分形树
2018/06/22 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
keras model.fit 解决validation_spilt=num 的问题
2020/06/19 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
Python通过字典映射函数实现switch
2020/11/06 Python
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
药剂专业自荐信范文
2014/04/16 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
大学生读书笔记大全
2015/07/01 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS