Изменения документа Выполнение процесса
Редактировал(а) Alexandr Fokin 2024/06/12 15:27
<
>
отредактировано Alexandr Fokin
на 2024/01/11 13:33
на 2024/01/11 13:33
отредактировано Alexandr Fokin
на 2024/01/11 13:28
на 2024/01/11 13:28
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki:Архитектура имодели.Модели.Процессы.WebHome1 +Алгоритмы.Процессы.WebHome - Содержимое
-
... ... @@ -12,12 +12,10 @@ 12 12 Обработчик перед внесением изменений убедился, что процесс находится на нужном шаге. 13 13 14 14 Ситуация 1. 15 -Нам поступило сообщение от внешней системы, по которому мы должны продолжить некоторый экземпляр процесса. Мы берем это экземпляр и перед обработкой проверяем его статус. Если вдруг обнаружилось, что статус некорректный, то это обозначает что возникла ошибка. 16 -Например это может быть вызвано задвоением при отправки сообщений от внешней системы ([[Dual write problem>>doc:Архитектура и модели.Группа\. Распределенные системы.Распределенные системы\. Консистентность.Dual write problem.WebHome]]), если при взаимодействии мы не используем подход с уникальной идентификацией сообщений. Ранее приходило первый экземпляр этого сообщения и процесс уже продолжил свое выполнение далее, но вот поступил второй экземпляр того-же сообщения, и мы фиксируем что процесс не находится в нужном состоянии для его обработки. При этом у нас есть возможность реализовать это таким образом, что мы не повредим консистентность процесса. 17 -Момент с уникальной идентификацией заявок, также относиться и к инициализации процесса на основании события. 15 +Нам поступило сообщение от внешней системы, по которому мы должный продолжить некоторый экземпляр процесса. Мы берем это экземпляр и перед обработкой проверяем его статус. Если вдруг обнаружилось, что статус некорректный, то это обозначает что возникла ошибка. 16 +Например это может быть вызвано задвоением при отправки сообщений от внешней системы, если при взаимодействии мы не используем подход с уникальной идентификацией сообщений. Ранее приходило первый экземпляр этого сообщения и процесс уже продолжил свое выполнение далее, но вот поступил второй экземпляр того-же сообщения, и мы фиксируем что процесс не находится в нужном состоянии для его обработки. При у нас есть возможность реализовать это таким образом, что мы не повредим консистентность процесса. 18 18 19 19 Ситуация 2. 20 -Два пользователя открыли форму ручного ввода данных для процесса. Первый пользователь указал данные и продолжил процесс. Второй пользователь пытается проделать то-же самое, но получает ошибку о том, что его форма устарела и кто-то другой внес изменений, на текущем этапе невозможно выполнить данный ручной ввод 21 -(может быть обнаружено либо по RowVersion, либо по статусу процесса). 19 +Два пользователя открыли форму ручного ввода данных для процесса. Первый пользователь указал данные и продолжил процесс. Второй пользователь пытается проделать то-же самое, но получает ошибку о том, что его форма устарела и кто-то другой внес изменений, на текущем этапе невозможно выполнить данный ручной ввод. 22 22 ))) 23 23 )))