一个简单的节流包

aio-throttle的Python项目详细描述


这个库的灵感来自于this book和这个实现https://github.com/vostok/throttling。在

特点:

  1. 设置容量(最大并行请求数)和队列(最大排队请求数)限制。在
  2. 每消费者限额。例如,不允许任何消费者使用超过70%的服务容量。在
  3. 按请求优先级。例如,不允许优先级最低的请求排队,或者现在允许具有正常优先级的请求使用超过服务容量的90%。在

示例:

fromaio_throttleimportThrottler,MaxFractionCapacityQuota,ThrottlePriority,ThrottleResultcapacity_limit=100queue_limit=200consumer_quotas=[MaxFractionCapacityQuota(0.7)]priority_quotas=[MaxFractionCapacityQuota(0.9,ThrottlePriority.NORMAL)]throttler=Throttler(capacity_limit,queue_limit,consumer_quotas,priority_quotas)consumer,priority="yet another consumer",ThrottlePriority.HIGHasyncwiththrottler.throttle(consumer=consumer,priority=priority)asresult:...# check if result is ThrottleResult.ACCEPTED or not

与aiohttp和prometheus_客户端集成的示例

^{pr2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像