跨机器的Python同步锁的最佳方法

时间:2013-11-27 16:14:07

标签: python multithreading multiprocessing locks

所以我有用户A和使用rB都访问网络上相同的脚本do_cool_things.py。

我想这样做,方法critical_cool_things()一次只能由一个用户访问。

最好的办法是什么?

我的第一个想法是线程或多处理,但这需要每个python实例共享一些内存才能使用相同的锁。如果它的单独机器正在访问do_cool_things.py。

,这似乎是不可能的

我现在想在一个公共位置使用一个简单的.lock文件就足够了。

您怎么看?

1 个答案:

答案 0 :(得分:0)

你可以像以下一样使用redis:

if redis.setnx(self.key, expires):

查看示例here