celery retry装饰器 使用场景 保存任务结果到db 从db获取任务 celery 装饰器学习 @retry retry max_retries: 默认重试3次 执行成功返回. 执行失败,重试max_retries. def retry(fun): @wraps(fun) def _inner(*args, **kwargs): max_retries = kwargs.pop('max_retries', 3) for retries in range(max_retries): try: return fun(*args, **kwargs) except (DatabaseError, InvalidRequestError, StaleDataError): logger.warning( 'Failed operation %s. Retrying %s more times.', fun.__name__, max_retries - retries - 1, exc_info=True) if retries + 1 >= max_retries: raise return _inner 来源: oschina 链接: https://my.oschina.net/tplinuxhyh/blog/4530475