Skip to main content

一个错误重试装饰器

Project description

gretry

一个错误重试装饰器

安装

pip install gretry

参数介绍

  • retry: 失败重试次数(默认 3 次)
  • delay: 错误重试间隔(默认 0s)
  • on_exceptions: 哪些报错才重试(默认 都重试)
  • ignore_exceptions: 哪些报错不重试(默认 无)
  • callback: 执行成功回调结果函数
  • error_callback: 执行失败回调结果函数
  • raise_exception: 一直失败,最后是否需要抛出错误(默认 True)

注意点

当有 callback 当有正确的结果时,会将结果作为参数放入 callback 并执行

当有 error_callback: 当执行失败时,会在最后一次,将函数的执行参数,作为参数放入 error_callback 并执行

示例

【demo】

from gretry import retry


def failed(name):
    print('failed', name)


def success(result):
    print('success', result)


@Retry(max_retry=3, delay=1, callback=success, error_callback=failed)
def run(name):
    raise FileExistsError('文件不存在!')


if __name__ == '__main__':
    run(name='郭一会儿')

【输出】

failed 郭一会儿
Traceback (most recent call last):
  File "D:\Program\Python\Pypi\gretry\test.py", line 18, in <module>
    run(name='郭一会儿')
  File "D:\Program\Python\Pypi\gretry\gretry\gretry.py", line 136, in wrapper
    return self.runner(func, *args, **kwargs)
  File "D:\Program\Python\Pypi\gretry\gretry\gretry.py", line 103, in runner
    raise exception
  File "D:\Program\Python\Pypi\gretry\gretry\gretry.py", line 74, in runner
    result = func(*args, **kwargs)
  File "D:\Program\Python\Pypi\gretry\test.py", line 14, in run
    raise FileExistsError('文件不存在!')
FileExistsError: 文件不存在!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gretry-2.0.0.tar.gz (3.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page