用于整洁的重试包装的小库

yaretr的Python项目详细描述


#yaretry-另一个重试库

这是一个小python库,用于用重试逻辑包装或装饰函数。


normal,params)
```

用默认重试逻辑装饰函数:

``python

@yaretry.decorate()
def foo(bar):
pass


foo()
```

并将在每次调用之间等待指数级增长的延迟。初始延迟为1秒,每次都会加倍。

PARAMS(超时=60)(BR/>‘BR/> BR/>增加最大重试次数:
‘BR/>回溯=f=yReTest.包(f,yReTr.PARAMS(Max Studio=10))
‘BR/> BR/>改变初始延迟,指数:
BR/>‘BR/>回溯f=yReTest.包(f,yReTr.PARAMS(iTalalSord=0.5),指数=1.2))

当强制转换为bool时将为false:
```
@yaretry.decorate(yaretry.params(retry_on_false=true))
def foo(bar):
如果bar==1:
返回false;将重试
elif bar==2:
返回none;将重试
elif bar==3:
返回false;将不*重试
否则返回:
true
```

仅在出现特定异常或多个异常时重试:
```
@yaretry.decorate(yaretry.params(允许的异常=(
mycustomexception,
lookuperror))
def foo(bar):
如果bar==1:
raise mycustomexception();将重试
elif bar==2:
raise exception()#不会重试并引发异常
否则:
raise keyerror()将重试,因为keyerror子类lookuperror
````

>要自定义的参数的完整列表:

-*timeout*-重试将停止的秒数
-*max\attempts*-重试调用函数的次数,在放弃
-*初始延迟*-第一次重试前等待的秒数
-*最大延迟*-重试之间等待的最大延迟
-*指数*-从重试到重试,延迟乘以此数
-*记录器*-在执行重试时使用提供的记录器进行日志记录
-*引发上次异常*-如果为真,重试完成后,将引发最后一个异常。如果为False(默认值),则引发第一个异常。
-*retry_on_False*-如果函数返回的值'bool(value)==False`
-*allowed_exceptions*-异常类的元组,在引发时,函数将被重试
-*如果重试-cb*-将用抛出的异常调用的回调。如果回调返回true,则函数将重试
-*log_level*-a logging.xxxxx log level,指示在记录重试尝试时使用的日志级别



requests.exceptions.httperror):
返回ex.response.status_code>;=500
如果是instance(ex,requests.exceptions.connectionerror):
返回true
返回false


@yaretry.decorate(yaretry.params(
最大尝试次数=5,
应重试cb=服务器或连接错误)
def调用api(url):
res=请求。get(url)
res.raise关于失败的res()
返回res.json()
````


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何为ConcurrentHashMap使用并设置适当的并发级别?   java泛型方法,运行时错误,   java在页面上显示加载的图像   java Paypal定期直接支付问题   java如何延迟重新绘制组件   JavaSpringBoot+Hibernate如何维护@Transient字段   java在其方法中获取关于类的信息   在java中将别名添加到枚举   java如何解决向google报告成绩时“需要重新连接客户端”的问题   清晰的java图像背景   java未找到适合JDateChooser的构造函数(字符串、字符串、字符)   java LRU缓存实现。某些测试用例的代码失败   if语句Java嵌套的if/Else条件   java JSoup“wrap”并非每次都按预期工作   Java Spring引导循环依赖于一个环境   ssl证书无法通过Java和IntelliJ连接到SOAP服务   带整数验证的Java扫描器   java在Flex中呈现具有动态列的datagrid   java Android:通过用户选择的选项将文件上载到服务器   子类中的java抛出错误、异常和运行时异常