重试装饰器

def retry(times=3, second=1): # 重试时间为一秒,重试次数为3次
    def decorator(func):
        def wrapper(*args, **kwargs):
            i = 0
            result = func(*args, **kwargs)
            while not result and i < times:
                time.sleep(second)
                i += 1
                result = func(*args, **kwargs)
            return result

        return wrapper

    return decorator


@retry(times=5)
def func():
    print('run failed')
    return False

func()

 

posted @ 2019-07-12 09:49  G先生  阅读(339)  评论(0)    收藏  举报

:guocheng