1. 手写代码

import functools
import logging
import time


def retry(tries=3, interval=1):
    # 装饰器,任务函数调用时,进行重试三次
    def decorate(func):
        @functools.wraps
        def wrapper(*args, **kwargs):
            count = 0
            while True:
                try:
                    result = func(*args, **kwargs)
                except Exception as e:
                    count += 1
                    if count > tries:
                        raise e
                    else:
                        logging.Logger.warning(f"Failed to call func, Exception: -> {e}")
                        time.sleep(interval)
                else:
                    return result
        return wrapper
    return decorate