我试图攻击有线程限制的web服务,也就是说,如果在几秒钟内发出太多的请求,它将抛出异常,假设这是一个攻击。在
为了解决这个问题,我们使用python的retrying模块
下面是示例代码
from retrying import retry
@retry(stop_max_attempt_number=10,wait_exponential_multiplier=1000, wait_exponential_max=10000)
def f():
# Call web service
这是有效的,但没有消息表明它是有效的。在
有没有一个参数/方法可以用来记录重试次数,比如waiting for 10 sec before next attempt
这里有另一种解决方法
作为另一个可以使用的标志
但这仍在开发中,可以使用retrying
master
代码获取,而不是最新版本1.3.3的一部分您可以将
wait_func
参数用于retry
,该函数将尝试次数和延迟毫秒数作为参数,并根据需要打印消息:该输出:
^{pr2}$但是,如果您想使用指数睡眠选项,则必须实例化您自己的
Retrying
实例并使用自定义装饰器来使用它,以便您的自定义wait
函数可以使用您的Retrying
实例调用exponential_sleep
方法:该输出:
相关问题 更多 >
编程相关推荐