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'...:names
key 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
AsyncThrottledQueue
class 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_version
argument 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_activity
andidle_seconds
attributes.Added a
cleanup()
method.
0.3.1 (2022-03-31)#
Renamed attributes (should be safe to mess with):
_limit
becomeslimit
._resolution
becomesresolution
.
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.