标签: python redis
我有两个尝试通过redis.lock(...).acquire()获取租约的流程。我希望一个人失败,一个人工作。但是,有些情况下BOTH声称已成功获得锁定。
redis.lock(...).acquire()
发生了什么事?
答案 0 :(得分:0)
2.8.0之前的版本中存在错误(已在this commit中修复),其中int(time.time())与setnx一起使用。这允许多个进程在同一秒内调用锁定并相信它们赢了。
int(time.time())
setnx
请参阅更改日志here。