retrying
是Python编写的通用重试库,用于简化向任何东西添加到重试行为的任务,最低支持Python3.5!下面来看一下retring
库的使用:
安装
pip install retrying
亦或者
easy_install retrying
举个栗子
下面我们来使用retrying
库来实现一个简单的功能,如下:
import random
from retrying import retry
@retry()
def randnum():
num = random.randint(0, 100)
print(num)
if num < 50:
raise Exception("这不是我想要的数")
return num
if __name__ == "__main__":
num = randnum()
print("success", num)
上面代码中,如果输出的数字不是大于或等于50的数,将会无间隔不停歇的一直重试!
常用参数
下面我们来看一下retry
装饰器中一些常用的参数以及用法:
stop_max_attempt_number
最大重试次数。如果stop_max_attempt_number
小于或等于1,那么将只会重试一次,即整个函数只会执行一次。我们修改一下上面的栗子:
@retry(stop_max_attempt_number=3)
def randnum():
...
如此一来,print(num)
最多只会执行3次!
stop_max_delay
最大重试时间,单位ms。我们修改一下上面的栗子:
@retry(stop_max_delay=10000)
def randnum():
num = random.randint(0, 100)