Интересно, существует ли общесистемный мьютекс в javascript ( Не обычный мьютекс с другими словами )?
У меня есть 2 или более экземпляров команды node.js cmd.Они будут читать и записывать в один и тот же файл, и здесь я не хочу, чтобы они делали это в одно и то же время.
Код выглядит следующим образом:
//Enter Systemwide Mutex here
var textarray = fs.readFileSync("C:/file1.txt").toString('utf-8'); //Read the file
fs.promises.writeFile("C:/file1.txt", "hello"); //Write to file
//Exit Systemwide Mutex here
Я предпринял попытку с использованием подхода блокировки файлов (https://www.npmjs.com/package/proper-lockfile) Я установил с: «npm i Proper-lockfile» Но я получаю ошибку: TypeError: lockfile.lock не является функцией
const lockfile = require('C:/myproject/temp/lockfile.txt');
lockfile.lock('C:/myproject/temp/lockfile.txt')
.then((release) => {
// Do something while the file is locked
var textarray = fs.readFileSync("C:/myproject/file1.txt").toString('utf-8'); //Read the file
fs.promises.writeFile("C:/myproject/file1.txt", "hello now"); //Write to file
// Call the provided release function when you're done,
// which will also return a promise
return release();
});