add web
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
from app.extensions import redis_controller
|
||||
import time
|
||||
import redis
|
||||
|
||||
# DEPRECATED - DO NOT USE ANYMORE - USE REDIS_LOCKS INSTEAD
|
||||
def acquire_lock(lock_name, acquire_timeout=10, lock_timeout=60):
|
||||
"""Acquires a Redis lock with a specific name."""
|
||||
identifier = str(time.time())
|
||||
end_time = time.time() + acquire_timeout
|
||||
|
||||
while time.time() < end_time:
|
||||
if redis_controller.set(lock_name, identifier, nx=True, ex=lock_timeout):
|
||||
return identifier
|
||||
time.sleep(0.001)
|
||||
|
||||
return None
|
||||
|
||||
def release_lock(lock_name, identifier):
|
||||
"""Releases a Redis lock with a specific name and identifier."""
|
||||
if redis_controller.get(lock_name) == identifier:
|
||||
redis_controller.delete(lock_name)
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user