Spring中的aware接口详情
253
2022-09-05
python各种扩展库学习(python扩展库下载)
一、错误重试库
我们再写编写程序(尤其是与网络请求相关程序)时,比如运行网络爬虫任务时,经常会遇到偶尔发生请求失败的情况。这时若只是简单的捕捉错误然后
一)错误重试库之retry或retrying的retry方法
1、retry的retry方法
安装retry库pip install retry
可配置参数
def retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff=1, jitter=0, logger=logging_logger): """Return a retry decorator. :param exceptions:捕获异常或异常元组。 默认:Exception。 :param tries:Exception最大尝试次数。 默认值:-1(无限)。 :param delay:尝试之间的初始延迟。 默认值:0。 :param max_delay:延迟的最大值。 默认值:无(无限制)。 :param backoff:乘法器应用于尝试之间的延迟。 默认值:1(无退避)。 :param jitter:额外的秒数添加到尝试之间的延迟。 默认值:0。 如果数字固定,则随机如果范围元组(最小值,最大值) :param logger:logger.warning(fmt,error,delay)将在失败尝试中调用。 默认值:retry.logging_logger。 如果无,则记录被禁用。 """
引用库
from retry import retry@retry()def make_trouble(): print('retrying') raiseif __name__ == '__main__': make_trouble()
2、retrying的retry方法
安装retrying库pip install retrying
重要参数
stop_max_attempt_number:在停止之前尝试的最大次数,最后一次如果还是有异常则会抛出异常,停止运行,默认为5次wait_random_min:在两次调用方法停留时长,停留最短时间,默认为0,单位毫秒wait_random_max:在两次调用方法停留时长,停留最长时间,默认为1000毫秒retry_on_result:指定一个函数,如果指定的函数返回True,则重试,否则抛出异常退出retry_on_exception: 指定一个函数,如果此函数返回指定异常,则会重试,如果不是指定的异常则会退出
引用库
from retrying import retry@retry()def make_trouble(): print('retrying') raiseif __name__ == '__main__': make_trouble()
二)错误重试库之tenacity
安装库pip install tenacity
引用库
import randomfrom tenacity import retry@retrydef demo_func1(): a = random.random() print(a) if a >= 0.1: raise Exceptiondemo_func1()
使用说明见:https://mp.weixin.qq.com/s/-GLHw3V6uSD-nKUcmTrTJA
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~