retrying模块的使用
# !/usr/bin/env python
# _*_ coding:utf-8 _*_
from retrying import retry
import requests
# 1.安装 pip install retrying
# 2. 自动重复发送请求
class RetryUse(object):
def __init__(self):
self.url = 'www.baidu.com'
self.index = 0
# 标识 重复的最大次数; 连续请求三次, 三次之后 才报错
@retry(stop_max_attempt_number=3)
def _send_request(self):
self.index += 1
print(self.index)
response = requests.get(self.url)
# 断言
assert response.status_code == 200
return response
def run(self):
try:
self._send_request()
except Exception as e:
print(e)
if __name__ == '__main__':
RetryUse().run()
# 1. 保留下来 单独放入一个容器 请求失败的url; 隔一段时间 在发送请求
# 2. 直接废弃了
retrying模块的使用
retrying模块的地址:https://pypi.org/project/retrying/
retrying 模块的使用
使用retrying模块提供的retry模块
通过装饰器的方式使用,让被装饰的函数反复执行
retry中可以传入参数stop_max_attempt_number,让函数报错后继续重新执行,达到最大执行次数的上限,如果每次都报错,整个函数报错,如果中间有一个成功,程序继续往后执行