All notable changes to this project will be documented in this file.
- Move all closing logic from Redis.clear_connections() to Instance.close()
- Fixes for new version of asynctest
- Support for aioredis version to 1.0.0.
- Complite lock refactoring using lua scripts .
Aioredlock.extend(lock)
is implemented to extend the lock lifetime.- The lock manager now raises the
LockError
exceptions if it can not lock, extend or unlock the resource. - The lock now can be released with async context manager.
- Support the same address formats as aioredis does.
Aioredlock.is_locked()
is implemented to check is the resource acquired by another redlock instance.- The
lock_timeout
anddrift
parameters now mesured in seconds, just likeretry_delay_min
andretry_delay_max
.
- Updated aioredis requirement version to 0.3.1.
- Incremented the maxsize connections pool from default to 100.
- Fixed a bug regarding the asyncio lock usage when creating the connection pool with redis.
- Drift time check. See https://redis.io/topics/distlock#is-the-algorithm-asynchronous
- Randomized the retry delay for trying to acquire the lock again (range between 0.1 and 0.3 seconds).
- aioredlock first version with all the basic distributed lock manager functionalities.