Skip to content

Commit d39c0f9

Browse files
Merge pull request #21 from monica-veloso/main
fix lua release script
2 parents dc62efa + 723b389 commit d39c0f9

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

src/yapcache/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.1.18"
1+
__version__ = "0.1.19"

src/yapcache/distlock.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
from yapcache.compat import StrEnum
88

99

10-
class ReleasedLock(StrEnum):
11-
RELEASED = "released"
12-
NOT_FOUND = "not_found"
13-
UNMATCH = "unmatch"
14-
15-
1610
class DistLock:
1711
async def __aenter__(self):
1812
return await self.acquire()
@@ -38,12 +32,12 @@ async def release(self):
3832
class RedisDistLock(DistLock):
3933
RELEASE_LOCK_SCRIPT = f"""
4034
if redis.call("get", KEYS[1]) == false then
41-
return {ReleasedLock.NOT_FOUND}
35+
return "not_found"
4236
elseif redis.call("get", KEYS[1]) == ARGV[1] then
4337
redis.call("del", KEYS[1])
44-
return {ReleasedLock.RELEASED}
38+
return "released"
4539
else
46-
return {ReleasedLock.UNMATCH}
40+
return "unmatch"
4741
end
4842
"""
4943

@@ -97,7 +91,7 @@ async def release(self):
9791
release_result = await self.client.eval(
9892
self.RELEASE_LOCK_SCRIPT, 1, self.resource_name, self.lock_id
9993
) # type: ignore
100-
if release_result in (ReleasedLock.RELEASED, ReleasedLock.NOT_FOUND):
94+
if release_result in ("released", "not_found"):
10195
try:
10296
RedisDistLock._EVENTS.pop(self.resource_name).set()
10397
except KeyError:

0 commit comments

Comments
 (0)