设为首页 加入收藏

TOP

python自动重试第三方包retrying
2018-10-19 16:00:40 】 浏览:22
Tags:python 自动 第三方 retrying

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

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

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

1 from retrying import retry
2 
3 def is_request_exception(e):
4     return issubclass(type(e),RequestException)
5 
6 @retry(retry_on_exception=is_request_exception,wrap_exception=False, stop_max_attempt_number=10)
7 def request_get(url, timeout=120):
8     return requests.get(url, timeout=120)

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

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

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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇13_Python数据类型字符串加强_Pyt.. 下一篇写给小白的Python之012:传值还是..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目