Показать сообщение отдельно
Старый 22.03.2012, 13:30   #15  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Тьфу. Только сейчас до меня дошло что именно вы пытаетесь реализовать. Блокировка запуска кода несколькими пользователями одновременно. Так?

Нет. Это делается по другому. Например, в той же таблице с логом оставьте одну запись. Эту запись внутри транзакции выбирайте для обновления и перед окончанием транзакции обновляйте. Тогда второй пользователь не сможет сделать тоже самое ровно до тех пор пока первый не освободит эту единственную запись.
беда в том, что бизнес-логика никак не меняет строки лога. строки лога нужны лишь для того чтобы держать информацию о том, с какими параметрами можно запустить программу, а с какими нельзя.

ну то есть вася пупкин запустил программу с параметром А, в лог попала строка со значением А. это значит что никто не может запускать программу с параметром А, пока вася пупкин не закончит и не очистит лог.

пока что вижу лишь один выход - перед заполнением лога чистить его. но в связи с нюансами это тяжеловатая процедура будет...

Последний раз редактировалось Андрей К.; 22.03.2012 в 13:33.