Redis-Py оптимистическая блокировка - PullRequest
0 голосов
/ 07 октября 2019

Ниже приведен пример кода с использованием redis-py. Я смотрю ключ. Тогда спать в течение 30 с. Тем временем я обновляю ключ вручную с помощью командной строки. Я ожидаю WatchError, когда код пытается установить ключ после пробуждения. Но я не получаю WatchError. Можете ли вы дать мне знать, что не так?

import redis 
import time   
r = redis.Redis( host= os.environ['REDIS_HOST'],
        port= os.environ['REDIS_PORT'],
        password=os.environ['REDIS_PWD'],
        ssl='True',
        charset="utf-8",
        decode_responses=True)
pipe = r.pipeline()
event_id = "xyz"
try:
   pipe.watch(event_id)
   time.sleep(30)
   pipe.multi()
   r.set(event_id,"abc")
   pipe.execute()
except redis.exceptions.WatchError as e:
   print(e)
...