一个简单的节流包

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将值插入sql表的选定列。使用c等参数#   IF语句的java JList数据添加   java在这种情况下有没有更好的方法来调整哈希值?   java@Valid不会触发@Repository中的验证   java如何在安卓中调整位图的大小   iTextJava。lang.NoClassDefFoundError:com/itextpdf/text/DocumentException   java使用ResourceBundleMessageSource加载一个ressource包(message.properties)的全部内容   java如何通过JasperReports 6动态设置Excel工作表名称。十、   java是编写这个程序的最佳方式   JAVA伊奥。FileNotFoundException:C:\Program Files\Apache软件基金会\Tomcat 8.0\。。\webapps\ROOT\\u cips\config。伊尼   java我正在尝试创建一个TictaToe程序,但是JOptionPane和绘图有问题   垃圾收集为什么java中的finalize()方法不在Finalizer类中?为什么它是在对象类中定义的?   java如何用括号编码替换url中的括号?   java web集成移动应用程序   在netbeans中运行MIDP2应用程序时出现java错误