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

 更新时间:2018年04月24日 08:50:19   作者:无边无忌  
retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段。这篇文章主要介绍了python自动重试第三方包retrying的方法,需要的朋友参考下吧

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模块的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • pycharm 2019 最新激活方式(pycharm破解、激活)

    pycharm 2019 最新激活方式(pycharm破解、激活)

    这篇文章主要介绍了最新2019pycharm激活方式(pycharm破解、激活),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python制作圣诞树和圣诞树词云

    Python制作圣诞树和圣诞树词云

    本文主要介绍了利用Python制作三种不同形状的圣诞树和圣诞树词云,文中的示例代码讲解详细,对我们学习Python有一定的帮助,快跟随小编一起学习吧
    2021-12-12
  • PyTorch之怎样选择合适的优化器和损失函数

    PyTorch之怎样选择合适的优化器和损失函数

    这篇文章主要介绍了PyTorch怎样选择合适的优化器和损失函数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • keras模型可视化,层可视化及kernel可视化实例

    keras模型可视化,层可视化及kernel可视化实例

    今天小编就为大家分享一篇keras模型可视化,层可视化及kernel可视化实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python数据分析Matplotlib 柱状图绘制

    Python数据分析Matplotlib 柱状图绘制

    本文主要介绍了Python数据分析Matplotlib柱状图绘制,Matplotlib提供了bar()方法绘制柱状图,下面具体绘制介绍需要的小伙伴可以参考以一下
    2022-05-05
  • Python中xml和dict格式转换的示例代码

    Python中xml和dict格式转换的示例代码

    最近在做APP的接口,遇到XML格式的请求数据,费了很大劲来解决,下面小编给大家分享下Python中xml和dict格式转换问题,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • 使用python将mdb数据库文件导入postgresql数据库示例

    使用python将mdb数据库文件导入postgresql数据库示例

    mdb格式文件可以通过mdbtools工具将内中包含的每张表导出到csv格式文件。由于access数据库和postgresQL数据库格式上会存在不通性,所以使用python的文件处理,将所得csv文件修改成正确、能识别的格式
    2014-02-02
  • Python函数参数中的*与**运算符

    Python函数参数中的*与**运算符

    这篇文章主要介绍了Python函数参数中的*与**运算符,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 浅谈keras中的后端backend及其相关函数(K.prod,K.cast)

    浅谈keras中的后端backend及其相关函数(K.prod,K.cast)

    这篇文章主要介绍了浅谈keras中的后端backend及其相关函数(K.prod,K.cast),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python进程间通信方式

    Python进程间通信方式

    这篇文章主要介绍了Python进程间通信方式,进程彼此之间互相隔离,要实现进程间通信,主要通过队列方式,下文更多详细内容,需要的小伙伴可以参考一下
    2022-03-03

最新评论