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