retrying 模块
安装
pip install retrying
简单使用
import random from retrying import retry @retry def do_something_unreliable(): if random.randint(0, 10) > 1: print("just have a test") raise IOError("raise exception!") else: return "good job!" print(do_something_unreliable())
其他参数
# 最大重试次数
@retry(stop_max_attempt_number=5)
# 限制最长重试时间(从执行方法开始计算)
@retry(stop_max_delay=5000)
# 设置固定重试时间
@retry(wait_fixed=2000)
# 设置重试时间的随机范围
@retry(wait_random_min=1000,wait_random_max=2000)
# 根据异常重试
def retry_if_io_error(exception):
return isinstance(exception, IOError)
# 设置特定异常类型重试
@retry(retry_on_exception=retry_if_io_error)
# 通过返回值判断是否重试
def retry_if_result_none(result):
"""Return True if we should retry (in this case when result is None), False otherwise"""
# return result is None
if result =="111":
return True
@retry(retry_on_result=retry_if_result_none)

浙公网安备 33010602011771号