2013-10-09 41 views
0

我有两个尝试通过redis.lock(...).acquire()获取租约的进程。我希望一个失败,一个去工作。但是,有些情况下,两者都声称已成功获得锁定。Python redis.client锁不起作用

这是怎么回事?

回答

0

2.8.0之前的版本中存在一个错误(修复于this commit),其中int(time.time())setnx一起使用。这允许多个进程在同一秒内调用锁,并相信他们赢了。

查看更改日志here