当前位置: 首页 > 工具软件 > Tenacity > 使用案例 >

Python重试之美, 优雅的Tenacity

宦琪
2023-12-01

前言

有朋友安利了一下Tenacity, 特别好用, 提供了简单易使用的通用装饰器API
官方文档: https://tenacity.readthedocs.io/en/latest/

测试代码

import random
from tenacity import retry, stop_after_attempt

# 限定重试5次
@retry(stop=stop_after_attempt(5))
def do_something_unreliable():
    num = random.randint(0, 10)
    print(num)
    if num > 1:
        raise IOError("Broken sauce, everything is hosed!!!111one")
    else:
        return "Awesome sauce!"

print(do_something_unreliable())

基本所有的api都是在装饰器里面实现, 还可以多种api任意组合使用, 支持自定义回调和asyncio
官方文档写的很详细了, 而且有对应的例子, 直接看官方文档然后用起来吧

 类似资料: