1 Changelog =========
1.0.0 (2022-11-15)¶
Switched from eval scripts to redis functions. Minimum Redis server version becomes 7.0.
Replaced unpack calls with direct indexing in the Lua functions.
These changes improve the push operation by at least 6%.
0.6.0 (2022-07-06)¶
Simplified
pop()code to avoid the expensive scan operations. The'...:nameskey is now a sorted set and will be used as a template for the usage keys ('...:usage:<window>').
0.5.0 (2022-06-28)¶
Added support in a
AsyncThrottledQueueclass that only differs a bit from the regularThrottledQueue:__len__is removed, instead a awaitablesize()method is available.__init__doesn’t validate version anymore, instead you can await onvalidate_version().push(),pull()andcleanup()are awaitable.
Added a
validate_versionargument toThrottledQueue(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_activityandidle_secondsattributes.Added a
cleanup()method.
0.3.1 (2022-03-31)¶
Renamed attributes (should be safe to mess with):
_limitbecomeslimit._resolutionbecomesresolution.
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.