一种基于令牌桶算法的健壮的通用节流实现。
throttle-memcache的Python项目详细描述
Throttle库为python提供了一个健壮且通用的节流机制。
任务,只需使用:meth:`~ throttle.throttle`
函数:
。代码块::python
def some_fun(uid):
如果不是throttle.check(key=uid,rate=30,size=10):
raise throttleerror()
一个虚拟桶存在BR/>。
BR/>每当一个新的请求进入时,该算法执行以下动作:
BR/>测试,如果将请求的成本添加到桶中会超过其容量;BR/>在这种情况下,返回false
-否则,将请求的代价添加到桶中,并同时返回true
,bucket的当前值按所选速率递减。
这允许临时突发和平均计算。
代码块::sh
$pip安装节流阀
来自github:
…代码块::sh
$git clone git://github.com/rbarrois/throttle.git
任务,只需使用:meth:`~ throttle.throttle`
函数:
。代码块::python
def some_fun(uid):
如果不是throttle.check(key=uid,rate=30,size=10):
raise throttleerror()
一个虚拟桶存在BR/>。
BR/>每当一个新的请求进入时,该算法执行以下动作:
BR/>测试,如果将请求的成本添加到桶中会超过其容量;BR/>在这种情况下,返回false
-否则,将请求的代价添加到桶中,并同时返回true
,bucket的当前值按所选速率递减。
这允许临时突发和平均计算。
代码块::sh
$pip安装节流阀
来自github:
…代码块::sh
$git clone git://github.com/rbarrois/throttle.git