Skip to main content

A flow control packages,control QPS

Project description

Flow Control

  • 功能

    • 这个packages可以控制每秒一个函数或者语句的调用次数,可以设置访问次数和时间间隔,
    • 访问限制 访问次数/时间间隔
  • 使用方法(单进程情况下使用FlowControl 类,多进程情况下使用ProcessFlowControl类)

    #encoding=utf-8
    import os
    import threading
    
    from datetime import datetime
    from flow_control.controller import FlowControl
    from flow_control.controller import ProcessFlowControl
    from threading import Thread
    
    
    
    def work(flowcontrol):
        while True:
            if flowcontrol.get():
                print("{}--{}--{}".format(os.getpid(), threading.currentThread().ident, datetime.now()))
    
    flow_control = FlowControl(num=1, interval=1)
    Thread(target=work, args=(flow_control,)).start()
    work(flow_control)
    
    • 创建一个FlowControl (单进程情况下)或者 ProcessFlowControl(多进程情况下) 对象,参数为(num=访问次数,interval=时间间隔),
    • num的类型应该为int类型,interval应该为int或者float类型
    • 然后调用该对象的 get方法
    • 如果get方法返回 True,则说明可以未达到流控限制,如果返回False则说明函数调用次数或者访问次数已经 达到流控限制,应该拒绝调用或访问

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flow-control, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size flow_control-1.0.0-py3-none-any.whl (3.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size flow_control-1.0.0.tar.gz (2.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page