2013-10-09 42 views
0

我有兩個嘗試通過redis.lock(...).acquire()獲取租約的進程。我希望一個失敗,一個去工作。但是,有些情況下,兩者都聲稱已成功獲得鎖定。Python redis.client鎖不起作用

這是怎麼回事?

回答

0

2.8.0之前的版本中存在一個錯誤(修復於this commit),其中int(time.time())setnx一起使用。這允許多個進程在同一秒內調用鎖,並相信他們贏了。

查看更改日誌here