Предотвращение одновременных запросов - PullRequest
0 голосов
/ 27 февраля 2012

Я сохраняю данные из формы в файл.В файле есть номер строки.Если два или более пользователей отправят форму одновременно, мы ожидаем, что номера строк совпадают.Потому что перед сохранением я прочитал наибольший номер строки для определения номера строки новой записи.

Как я могу предотвратить это?sys_getloadavg это решение?Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2012

Я не уверен, что именно вы пытаетесь сделать, но запросы никогда не будут выполняться в одно и то же время. Один всегда будет немного впереди другого.

Если вы говорите о редактировании файла, возможно, вам следует создать файл конфигурации, который позволяет открывать файл только в режиме чтения, когда его открывает другой пользователь.

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

0 голосов
/ 27 февраля 2012

Вы можете сделать это с помощью блокировки файлов (медленно, но работает на всех платформах) или семафора. Смотрите эту ветку для информации: PHP взаимное исключение (мьютекс)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...