файловые системы — PHP параллельный файл пишет

У меня есть старое приложение, которое использует файлы вместо БД для хранения пользовательских данных в XML. Все полностью наследие. Пока миграция на БД не завершена, мне нужно поддерживать текущее состояние.

Проблема в том, что иногда (невоспроизводимо) это происходило, что содержимое файла не было записано полностью. Это привело к тому, что XML-файлы были неполными и, следовательно, были недействительными.

Я предполагаю, что сервер не может обрабатывать количество параллельных файловых записей.

Обратите внимание, что параллель не означает, что многие сценарии пишут один файл, но каждый сценарий, который записывает пользовательский контент, пишет для одного пользователя за вызов. В пиковое время до 100 обращений к скрипту.

Сценарий использует стандартную функциональность fwrite для записи входящей строки XML в файл. Нет добавления, просто замена всего контента, который работает в тестах. Проблема возникает только тогда, когда приложение используют большее количество пользователей.

Есть ли способ поставить в очередь запись файла или задержать вызовы скрипта?

Пожалуйста, прокомментируйте, если описание недостаточно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]