Как бороться с проблемой параллельного чтения и записи данных в файл под node.js?
Есть два независимых приложения node.js. Одно пишет данные в файл через: fs.writeFileSync. Другое читает из этого же файла через: fs.readFileSync.
Файл весит порядка 70-100кб. Запись идёт каждые несколько секунд.
Чтение идёт в случайное время. Проблема в том, что нода не всегда успевает дописать файл и я считываю его кусок и прога после такого успешного чтения дальше продолжает работать как ни в чём не бывало :) но для меня - битые данные критичны.
Есть ли действительно такая проблема или я неправильно реализую запись и чтение?
Конечно, я могу изголиться с md5 суммой контента вначале файла.
Писать во временный файл рядом, а потом переименовывать. Переименование — атомарная операция, так что читающий процесс либо прочитает старый файл, лмбо новый, но никак не половинку нового файла.