python自动重试第三方包retrying模块的方法


Posted in Python onApril 24, 2018

retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一直报错就会不断重试。

最近写了一个爬虫,需要连接国外的一个网站,经常出现掉线的情况,自己写了一个自动重连的代码,但感觉不够简洁。。。

后来就上万能的github,找到了一个第三包,基本能满足我的要求。这个第三方包就是retrying.

我的需求就是每当出现request相关异常的时候,就自动重来,上限连接10次;使用代码如下:

from retrying import retry 
def is_request_exception(e):
   return issubclass(type(e),RequestException)
 @retry(retry_on_exception=is_request_exception,wrap_exception=False, stop_max_attempt_number=10)
 def request_get(url, timeout=120):
   return requests.get(url, timeout=120)

刚开始用的时候,也遇到一些坑,就是在request_get用了try..except,导致不成功。后来删除就可以了。。。

我理解,在retring包中,已经有exception处理了,如果你的代码中有了exception处理,retring就没有捕获异常,就没法达到期望的结果了。

retrying还有非常多的自定义参数,如果等待时长控制,总共等待时间控制等等,暂时还没有这么特别的要求,等需要的时候,我再去研究一下。

总结

以上所述是小编给大家介绍的python自动重试第三方包retrying模块的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python自动生产表情包
Mar 17 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
python实现手机通讯录搜索功能
Feb 22 Python
如何用python写一个简单的词法分析器
Dec 18 Python
Python函数中不定长参数的写法
Feb 13 Python
python实现简单成绩录入系统
Sep 19 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
python字符串判断密码强弱
Mar 18 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
python操作xlsx格式文件并读取
Jun 02 Python
python3+PyQt5泛型委托详解
Apr 24 #Python
python去除扩展名的实例讲解
Apr 23 #Python
python3 遍历删除特定后缀名文件的方法
Apr 23 #Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 #Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 #Python
tensorflow 使用flags定义命令行参数的方法
Apr 23 #Python
Tensorflow之Saver的用法详解
Apr 23 #Python
You might like
PHP实现变色验证码实例
2014/01/06 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python将txt文件读入为np.array的方法
2018/10/30 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
教师自我鉴定范文
2014/03/20 职场文书
实习单位评语
2014/04/26 职场文书
区级文明单位申报材料
2014/05/15 职场文书
亚运会口号
2014/06/20 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
2015国庆节感想
2015/08/04 职场文书
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
Oracle用户管理及赋权
2022/04/24 Oracle