且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python:retrying重试装饰器的使用

更新时间:2022-08-22 14:32:44

文档:https://pypi.org/project/retrying/

依赖

pip install retrying

示例

# -*- coding: utf-8 -*-

from retrying import retry

# 最多执行5次
@retry(stop_max_attempt_number=5)
def foo():
    print("foo")
    raise Exception("Exception")


if __name__ == '__main__':
    foo()

"""
输出结果:
foo
foo
foo
foo
foo

Traceback (most recent call last):
...
Exception: Exception
"""

参数说明(待补充)

stop 
wait
stop_max_attempt_number         最大重试次数
stop_max_delay                  最大延迟时间(毫秒)
wait_fixed                      每次方法执行之间的等待时间
wait_random_min                 随机的等待时间
wait_random_max                 随机的等待时间
wait_incrementing_start 
wait_incrementing_increment     每调用一次增加固定时长
wait_exponential_multiplier 
wait_exponential_max
retry_on_exception
retry_on_result
wrap_exception
stop_func
wait_func
wait_jitter_max

参考

Python重试模块retrying