retry.it,一个简单的重试库

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

你是否曾经想重试一个函数,但又不想实现它的逻辑?

使用retry.it库,你就不用实现逻辑了!

使用这个简单的不到100行的模块,不用任何逻辑,就可以体验重试功能所有的精彩!

有一个函数,只某些时间运行?使用retry.it库!

有一个函数,需要轮询一个网站x次,来检查是否有服务挂掉?使用retry.it库!

你想反复运行一个函数?使用retry.it库!

安装

pip install retry.it
特性

  • 以下情况函数可以重试:

    • 没有达到成功条件(如状态码不等于200)

    • 异常(如一个函数抛出requests.RequestException)

      • 失败时所有被接受的异常抛出原始异常!

  • 以下情况函数可能失败:

    • 超过最大重试次数

    • 达到最大超时

  • 函数重试可以有特定时间间隔

例子

使用它作为装饰器!
向一个URL发送Get请求,直到返回状态码200!间隔1秒

q1.png

使用它带超时!
和上面的功能相同,超时时间设为10秒!

q2.png

使用它带异常!
和上面的功能相同,超时时间设为10秒!

q3.png

使用它作为包装!
向一个URL发送任何类型的请求,直到返回用户设置的状态码! 

q4.png

贡献

    1. fork该仓库
    2. 提交变更到你的fork
    3. 提交所有的变更!

为什么使用retry.it

寻找类似retry.it的库时,我找不到一个既适合我所需要的一切,又易理解、易扩展的库。步入retry.itretry.it的目的是简单,并且它的实际代码不到100行!
替代品 

英文原文:https://github.com/seemethere/retry.it
译者:小雨
 

2月15日11:00到13:00网站停机维护,13:00前恢复