Python3中的@retry装饰器二

一、@retry()参数:
stop=None,
stop_max_attempt_number=None,说明:在停止之前尝试的最大次数,默认5次,最后一次如果还是有异常则会抛出异常,停止运行。
stop_max_delay=None,说明:从被装饰函数开始执行的时间点开始到函数成功运行结束或失败报错终止的时间点,stop_max_delay毫秒后停止重试,默认100毫秒。
stop_func=None,
wait=None,
wait_fixed=None,说明:设置两次retrying之间停留时长,默认1000毫秒。
wait_random_min=None,说明:在两次调用方法停留最短时长(随机),默认0毫秒。
wait_random_max=None,说明:在两次调用方法停留最长时长(随机),默认1000毫秒。
wait_incrementing_start=None,
wait_incrementing_increment=None,
wait_exponential_multiplier=None,说明:以指数的形式产生两次retrying之间的停留时间,产生的值为2^previous_attempt_number * wait_exponential_multiplier,默认1毫秒。
wait_exponential_max=None,说明:停留的最大时长,默认MAX_WAIT = 1073741823毫秒。
wrap_exception=False,
wait_func=None,
wait_jitter_max=None,
retry_on_exception=None,说明:指定一个函数,如果指定的函数返回指定异常,则重试,否则抛出异常退出。
retry_on_result=None,说明:指定一个函数,如果指定的函数返回True,则重试,否则抛出异常退出。

@retry(retry_on_result=is_len_list_zero, stop_max_attempt_number=120, wait_fixed=1000)
def findByCondition(self, dto):
return self.__findByCondition(dto)
posted @ 2022-11-11 18:24  商品部-林军  阅读(189)  评论(0编辑  收藏  举报