Skip to main content

A distributed funnel system based on redis, management system included.

Project description

redis-funnel

A distributed funnel middleware based on redis, management ui included.

Installation

You can install redis-funnel simply with pip:

pip install redis-funnel

Getting Started

Suppose you have a function named dummy runs across many processes, and executes very quickly:

import time

def dummy():
    return time.time()

while True:
    print dummy()

you wants to restrict its execution speed with a limited qps, e.g. 100:

import time
from redis_funnel.distributed import qps_factory

qps = qps_factory(host="localhost", port=6379, db=0)

@qps("1000001", "test", 100)
def dummy():
    return time.time()

while True:
    print dummy()

Warning: a redis server should be started first and listening on localhost:6379.

Also, if function dummy just runs in a single process, then you can just use qps decorator based on local memory, in which case you don't need a redis server running first:

import time
from redis_funnel.local import qps

@qps(100)
def dummy():
    return time.time()

while True:
    print dummy()

Management UI

TBD

Author

redis-funnel is developed and maintained by fanwei.zeng (stayblank@gmail.com). It can be found here:

https://github.com/PurpleSun/redis_funnel

Project details


Download files

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

Source Distribution

redis-funnel-0.0.1.tar.gz (8.0 kB view details)

Uploaded Source

File details

Details for the file redis-funnel-0.0.1.tar.gz.

File metadata

  • Download URL: redis-funnel-0.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.10

File hashes

Hashes for redis-funnel-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a2e380794d1c3b7fb205c78da1a685f75c0716450ca44ee201c129e4a91b5dd4
MD5 3df8794548b1a8616e0e9f1659c306f1
BLAKE2b-256 13a183ff56f9730a137e27d9c1cffe2087b81c1d8ba59131591b12c31cd7cad1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page