首页 > 其他分享 >46重试装饰器retry

46重试装饰器retry

时间:2024-01-16 21:35:16浏览次数:24  
标签:count do retry 46 重试 Retry __

 

from retrying import retry

r'''
安装:pip install retrying
Version: 1.3.4
作用:retrying库是Python中用于实现重试机制的库,它们的目的都是在遇到错误或异常时自动重试代码块,以增加代码的健壮性和可靠性.
下面的案例抽几个常用参数说明retry装饰器,当然也可以自己编写代码实现重试。
'''

# 只要是出现异常就会重试(无限重试),这里设置了为10次
num = 1


@retry
def do_something():
    global num
    if num < 10:
        num += 1
        print('Retry')
        raise Exception("Retry")


# stop_max_attempt_number: 用来设定最大的尝试次数,超过该次数就会停止,并抛出最后一次的异常
@retry(stop_max_attempt_number=7)
def do_run():
    print('Retry')
    raise Exception("Retry")


# wait_fixed: 设置在两次retrying之间的停留时间,这里设置为1s,无限重试
@retry(wait_fixed=1000)
def do_time():
    print('Retry')
    raise IOError("Retry")


# 重试功能的简单实现,count 控制重试次数,tag控制是否重试。
def reachFun():
    count = 0
    tag = False
    while count < 10 and tag is False:
        print('Retry')
        count += 1
        if count == 10:
            tag = True


if __name__ == '__main__':
    # do_something()
    # do_run()
    # do_time()
    reachFun()

 

标签:count,do,retry,46,重试,Retry,__
From: https://www.cnblogs.com/chenzhi2023/p/17968589

相关文章

  • AtCoder Grand Contest 046 F Forbidden Tournament
    洛谷传送门AtCoder传送门太厉害了!!!!!!首先竞赛图有个性质,若存在环则一定存在三元环。先把DAG的情况(一条链)特判了。然后缩点。发现非链底的部分不能存在大小\(>1\)的SCC。所以枚举非链底的部分有多少点,转化为SCC的情况。发现对于任意点(设为\(1\)号点),它的前驱连成一条链......
  • HDU 4686 Arc of Dream(构造矩阵)
    设\(t_n=a_n*b_n\)把\(a_n和b_n\)拆出来\(t_n=(a_{n-1}*ax+ay)(b_{n-1}*bx+by)\)\(t_n=ax*bx*t_{n-1}+ax*by*a_{n}+ay*bx*b_{n-1}+ay*by\)那么同时维护\(s_n,t_n,a_n,b_n和常数即可\)#include<cstdio>#include<algorithm>#include<cstring>#include&l......
  • Unity UnityWebRequest增加重试
    逻辑比较简单,直接上代码:IEnumeratorRequest(stringurl,stringmethod,Dictionary<string,string>headers,byte[]bodyRaw,intretryCount,System.Action<DownloadHandler>callback){for(inti=0;i<retryCount;i++)......
  • Programming Abstractions in C阅读笔记:p246-p247
    《ProgrammingAbstractionsinC》学习第68天,p246-p247总结,总计2页。一、技术总结本章通过“thegameofnim(尼姆游戏)”,这类以现实生活中事物作为例子进行讲解的情况,往往对学习者要求比较高,需要学习者具备一定的人文、历史知识或专业知识,如果缺乏这方面的知识,就会导致读者在......
  • OFBiz RCE漏洞复现(CVE-2023-51467)
    漏洞名称ApacheOFBiz鉴权绕过导致命令执行漏洞描述ApacheOFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。OFBiz最主要......
  • 07. HTTP接口请求重试怎么处理?
     目录1、前言2、实现方式2.1、循环重试2.2、递归重试2.3、SpringRetry2.4、Resilience4j2.5、http请求网络工具内置重试方式2.6、自定义重试工具2.7、并发框架异步重试2.8、消息队列3、小结1、前言HTTP接口请求重试是指在请求失败时,再次发起请求的机制。在实际应用中,由于网络波动......
  • day33 Istio弹性(超时&重试)和故障注入 (10.6)
    10.6-1-Istio弹性(超时&重试)和故障注入(1)一、前言在日常的工作中,我们可能会遇到当请求后端服务,响应过慢的时候,为了不产生积压请求,不拖垮其他服务,这个时候大家一般会怎么解决呢?那有小伙伴可能会说到,代码中增加超时的逻辑对吧?今天咱们通过Istio的主动注入故障,返回超时信息来......
  • 浅谈spring-retry
    使用方法@ComponentpublicclassRetryableXX{ //使用重试框架须知: //该注解无事务性!!!! //该注解是同步操作,重试次数与时间间隔需要慎重考虑!!!! //使用重试注解时,务必匹配@Recover回调方法,否则重试次数会平方!!!! //被调用的重试方法必须是被代理过的,否则重试效果不生效!!!! //匹......
  • MCP3461RT-E/NC 16位ADC用于便携式仪器仪表,XMC4800-F100F1024AA适合工业连接、控制(MCU
    1、MCP3461RT-E/NCICADC16BITSIGMA-DELTA20UQFNMCP3461器件是16位三角积分模数转换器(ADC),具有高达153.6kSPS的可编程数据速率。它们提供集成功能,如内部基准电压源、内部振荡器、温度传感器和烧毁传感器检测,以减少系统元件数量和总解决方案成本。MCP3461ADC采用超小型3mmx3......
  • 世微AP3464同步降压恒压IC 4-30V2.4A输出车充专用驱动芯片
    AP3464是一款支持宽电压输入的同步降压电源管理芯片,输入电压4-30V范围内可实现2.4A的连续电流输出。通过调节FB端口的分压电阻,设定输出1.8V到28V的稳定电压。AP3464具有的恒压/恒流(CC/CV)特性。AP3464采用电流模式的环路控制原理,实现了快速的动态响应。A......