barracuda477
Guest
Запуск одной копии скрипта на одного пользователя
Дано: Есть некий скрипт abc.php, на вход которого подаётся ID пользователя, вызывающего этот скрипт.
Необходимо выполнить условие: в каждый момент времени допустимо выполнение только _одного_ скрипта abc.php
для пользователя с данным ID.
Делал блокировку вручную через своё поле в БД MySQL. Поле содержит значение unixtime запуска скрипта
(если значение поля=0 - скрипт отработал). При запуске скрипт проверяет разницу текущено unixtime и значения
unixtime, записанного в указаном поле. Далее скрипт выполняет холостой цикл пока разница меньша
некоторого значения TIMEOUT (стоит 10 сек);
Вроде должно работать, ан нет. Бывают ситуации когда клиента просто прорывает (вероятнее всего скапливаются
запросы на каком-то гейте).
Вопросы 1) Возможно ли такое, что MySQL как-то буферизирует SQL-запросы ? Если да - как отключить или сделать flush ?
Вопросы 2) Какие ещё варианты решения есть ?
Дано: Есть некий скрипт abc.php, на вход которого подаётся ID пользователя, вызывающего этот скрипт.
Необходимо выполнить условие: в каждый момент времени допустимо выполнение только _одного_ скрипта abc.php
для пользователя с данным ID.
Делал блокировку вручную через своё поле в БД MySQL. Поле содержит значение unixtime запуска скрипта
(если значение поля=0 - скрипт отработал). При запуске скрипт проверяет разницу текущено unixtime и значения
unixtime, записанного в указаном поле. Далее скрипт выполняет холостой цикл пока разница меньша
некоторого значения TIMEOUT (стоит 10 сек);
Вроде должно работать, ан нет. Бывают ситуации когда клиента просто прорывает (вероятнее всего скапливаются
запросы на каком-то гейте).
Вопросы 1) Возможно ли такое, что MySQL как-то буферизирует SQL-запросы ? Если да - как отключить или сделать flush ?
Вопросы 2) Какие ещё варианты решения есть ?