Javascript 使用NodeJS/SailsJS进行文件系统原子访问
我目前在NodeJS中有一个应用程序(使用sails.js框架),它可以运行多个实例(使用PM2)。在app sart上,我想访问一个文件夹并读取该文件夹中文件的内容。但只有一个过程可以做到这一点。我正在尝试实现类似目录锁定的功能,但我知道这种原子操作存在一些问题。Javascript 使用NodeJS/SailsJS进行文件系统原子访问,javascript,node.js,filesystems,sails.js,atomic,Javascript,Node.js,Filesystems,Sails.js,Atomic,我目前在NodeJS中有一个应用程序(使用sails.js框架),它可以运行多个实例(使用PM2)。在app sart上,我想访问一个文件夹并读取该文件夹中文件的内容。但只有一个过程可以做到这一点。我正在尝试实现类似目录锁定的功能,但我知道这种原子操作存在一些问题。 我想听听你的想法。我如何获得一个坚如磐石的解决方案来帮助我实现这一点?有,允许您锁定文件。您可以遍历一个目录并锁定所有文件。@ShanShan fs ext将在不同的worker上提供原子读写操作?我快速查看了代码源,其中有一些。锁
我想听听你的想法。我如何获得一个坚如磐石的解决方案来帮助我实现这一点?有,允许您锁定文件。您可以遍历一个目录并锁定所有文件。@ShanShan fs ext将在不同的worker上提供原子读写操作?我快速查看了代码源,其中有一些。锁定发生在操作系统/文件系统级别,因此没有其他进程(nodejs或not)无法访问锁定的文件。如果操作文件的进程只有您自己,有一种更简单的方法,使用
.lock
文件并让您的进程管理它(检查当前目录中是否存在该文件,创建该文件以锁定,在作业完成时删除…)。