Queue system with key-based throttling implemented over Redis.
Project description
Queue system with key-based throttling implemented over Redis.
Free software: BSD 2-Clause License
Installation
pip install redis-throttled-queue
You can also install the in-development version with:
pip install https://github.com/ionelmc/python-redis-throttled-queue/archive/main.zip
Documentation
Development
To run all the tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append tox |
---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox |
Changelog
0.5.0 (2022-06-28)
Added support in a AsyncThrottledQueue class that only differs a bit from the regular ThrottledQueue:
__len__ is removed, instead a awaitable size() method is available.
__init__ doesn’t validate version anymore, instead you can await on validate_version().
push(), pull() and cleanup() are awaitable.
Added a validate_version argument to ThrottledQueue (default: True).
0.4.4 (2022-05-09)
Fixed missing usage key expiration when some queues are empty.
0.4.3 (2022-04-09)
Fixed buggy counts when duplicate values are pushed. For now the highest priority will be used when two identical values would be pushed.
0.4.2 (2022-04-02)
Refactored some duplicated code in the pop script.
0.4.1 (2022-03-31)
Fixed bogus error in cleanup() when db is completely empty.
0.4.0 (2022-03-31)
Added last_activity and idle_seconds attributes.
Added a cleanup() method.
0.3.1 (2022-03-31)
Renamed attributes (should be safe to mess with):
_limit becomes limit.
_resolution becomes resolution.
0.3.0 (2022-03-31)
Allowed pop(window) using any window value (str/bytes/int recommended tho).
0.2.0 (2022-03-31)
Fixed __len__ (was returning a string).
0.1.0 (2022-03-30)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for redis-throttled-queue-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | afcd090bea559d8d24fe3477cf393e162663026342db6220ff215a3e986d5f5a |
|
MD5 | 41529a954a165fd3cf0b2ad3604ca404 |
|
BLAKE2b-256 | 1df6167adf58d6fac8030d04908f8e4d37c72e6d8c173228eec13b7e733eb3ac |
Hashes for redis_throttled_queue-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 303cecc0b10a76994d9cc018484a31e94cb36f380f66badb2027e35ee2451846 |
|
MD5 | 37ea74f0e4f09ce48941a6cc978c4140 |
|
BLAKE2b-256 | 041f174496cf5fa2c8a8ec506069486ddccf9719702f31bbe720c10123a57cc8 |