retry 是一个用于错误处理的模块, 默认 @retry() 方式调用会一直尝试函数直到运行成功.
pip install retry
from retry import retry
@retry()
def demo():
print('Error!')
raise
demo()
Out: Error!
Error!
...
参数:
exceptions: 错误类型, 默认为 Exception(捕获所有类型错误), 也可以传入元组指定多种类型的错误.
tries: 捕获错误之后重复运行次数, 默认 -1(无数次).
delay: 每次重复运行之前的停顿时长, 单位秒, 默认 0(无停顿).
backoff: 呈指数级每次重复运行之间的停顿时长, 配合 delay 来使用
delay=3, backoff=2, 则第一次间隔为 32**0=1(s), 第二次 321=2(s), 第三次 3*22=4(s)
max_delay: backoff 和 delay 配合下出现的等待时间上限