обновленный вопрос, объединение не требуется в этом сценарии, хотя действительный отзыв

даю приложение по следующим критериям:

рабочие элементы: элементы, которые должны обрабатываться пользователями вручную через Интернет (короткая одностраничная форма)Несколько пользователей, работающих «рабочие элементы»У каждого пользователя есть очередь «рабочих элементов»Существует поиск, который позволяет пользователям просматривать «рабочие элементы» и назначать «рабочие элементы» своим очередям.Пользователи могут извлекать «рабочие элементы» из очередей других людей, назначая их себе

Примечание: «рабочие элементы» обрабатываются только один раз. Это не вики-страница, это скорее совместимое упражнение, которое должен выполнять только один пользователь. Как только «рабочий элемент» обработан, он исчезает из системы (кроме некоторого аудита / отчетности), что-то вроде системы отслеживания ошибок

Какой вариант вы считаете лучшим? Можете ли вы привести какие-либо основные приложения, которые поддерживают ваше мнение?

Опция 1:

Когда пользователь А просматривает или обрабатывает «рабочий элемент», «рабочий элемент» блокируется.Когда другие пользователи переходят к «рабочему элементу» после того, как пользователь А открывает «рабочий элемент», они могут видеть только «рабочий элемент». Они не могут писать.Срок действия блокировки истекает через n минут, после чего другой пользователь может заблокировать «рабочий элемент».

Вариант 2:

Любой пользователь может открыть «рабочий элемент», не блокируя его.Если пользователь A работает с «рабочим элементом», отправив форму, а пользователь B работает с тем же «рабочим элементом», то работа пользователя A вступит в силу в базе данных, и пользователь B будет проинформирован о том, что его изменения не вступили в силу, поскольку другие Пользователь изменил «рабочий элемент».

Мне лично нравится вариант 2. Мысли, пожалуйста?

Ответы на вопрос(3)

Ваш ответ на вопрос