@SEOVirus

Как бороться с проблемой параллельного чтения и записи данных в файл под node.js?

Есть два независимых приложения node.js. Одно пишет данные в файл через: fs.writeFileSync. Другое читает из этого же файла через: fs.readFileSync.

Файл весит порядка 70-100кб. Запись идёт каждые несколько секунд.
Чтение идёт в случайное время. Проблема в том, что нода не всегда успевает дописать файл и я считываю его кусок и прога после такого успешного чтения дальше продолжает работать как ни в чём не бывало :) но для меня - битые данные критичны.

Есть ли действительно такая проблема или я неправильно реализую запись и чтение?
Конечно, я могу изголиться с md5 суммой контента вначале файла.
  • Вопрос задан
  • 227 просмотров
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
Писать во временный файл рядом, а потом переименовывать. Переименование — атомарная операция, так что читающий процесс либо прочитает старый файл, лмбо новый, но никак не половинку нового файла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы