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获取从命令行输入数字的方法
Apr 29 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python计算二维矩形IOU实例
Jan 18 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
Jun 24 Python
Python面向对象多态实现原理及代码实例
Sep 16 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
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
2014/02/26 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Python运维开发之psutil库的使用详解
2018/10/18 Python
python 字符串只保留汉字的方法
2018/11/16 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书