在编程的时候,我们难免会遇到一些不可靠的情况,比如网络请求失败,数据库连接超时等等。这些不确定性会让我们的程序容易出现各种错误和异常。那么如何来增加程序的容错性和健壮性呢?
可能大多数人会想到使用try except来进行异常捕捉进行失败重试(Retry)。虽然try-escept一个非常常见和有效的方式来增强程序稳定性,但是可能一不小心就会造成栈溢出。
所以接下来我就来介绍一个另外的一个专门用于失败重试的库:retrying
。
在Python生态中,retrying库提供了非常便捷的装饰器和函数来帮助我们轻松添加失败重试机制。它可以自定义重试策略、停止条件、等待间隔等,对各种异常进行捕捉处理。使用retrying可以大大减少我们重复编写失败重试轮询的代码量。
pip install retrying
我们可以直接在函数上使用装饰器@retry
来进行失败重试
import retrying
@retry
def func():
for item in range(0,100):
result=item / 0
print(result)
return result
func()
但是这种方式并不建议使用,就像上面的代码,我们都知道0作为除数就会报错,在上面的func函数中,因为加了@retry
装饰器进行失败重试,这样就就会进入一个死循环一直失败一直重试。
所以我们在进行失败重试的时候最好是需要加上一些参数来限制失败重试。
全部0条评论
快来发表一下你的评论吧 !