0
我有兩個嘗試通過redis.lock(...).acquire()
獲取租約的進程。我希望一個失敗,一個去工作。但是,有些情況下,兩者都聲稱已成功獲得鎖定。Python redis.client鎖不起作用
這是怎麼回事?
我有兩個嘗試通過redis.lock(...).acquire()
獲取租約的進程。我希望一個失敗,一個去工作。但是,有些情況下,兩者都聲稱已成功獲得鎖定。Python redis.client鎖不起作用
這是怎麼回事?
2.8.0之前的版本中存在一個錯誤(修復於this commit),其中int(time.time())
與setnx
一起使用。這允許多個進程在同一秒內調用鎖,並相信他們贏了。
查看更改日誌here。