Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有多个服务器实例。我有一个用于文件同步的 s3 挂载位置。我必须一次更新一个文件……所以我想锁定那个文件,这样当一个实例已经存在时,任何其他实例都不能在该文件上工作在职的。
nodejs npm 的 LOCK 仅适用于服务器内而不是所有实例。
有没有可能的解决方法?
不幸的是,我的问题没有通过任何锁 npm 解决,因为我认为这些锁是基于操作系统的,而且我有多个服务器,所以我通过手动方法完成了。
在我做某事之前,我创建了一个名为 Lock (random name) 的 0 字节文件,所以如果另一个进程发现该文件存在,它将假定有一个锁,并将返回回调 false。
这适用于所有实例。