Исходный код вики Инициализация процесса

Версия 1.1 от Alexandr Fokin на 2024/01/11 12:26

Скрыть последних авторов
Alexandr Fokin 1.1 1 |(% style="width:61px" %) |(% style="width:1393px" %)(((
2 |(% style="width:251px" %)Инициализация на основе события|(% style="width:1124px" %)Событие запуска процесса поступает извне
3 |(% colspan="1" rowspan="3" style="width:251px" %)Инициализация на основе данных|(% style="width:1124px" %)Выборка данных до тех пор пока они не исчерпаются.
4 Плохо подходит для больших объемов данных.
5 \\Например:
6 Соединение таблицы доменных сущностей с таблицей процесса и выборка тех сущностей, по которым нет записи в таблице процесса.
7 |(% style="width:1124px" %)Инициализация, привязанная к дате.
8 \\Обработчик привязан к конкретной дате и рассматривает некоторый ограниченный набор, например одни сутки относительно указанной даты.
9 Таким образом мы явно ограничиваем блок данных. Но нужно учесть сценарии с возникновением ошибки, т.к. следующее срабатывание уже будет на основе новой даты.
10 |(% style="width:1124px" %)Перебор всего сета доменных сущностей.
11 \\1) Возможно, если есть способ перебрать данные батчами.
12 Например: Если мы уверены, что доменные объекты не удаляются, то мы можем отсортировать их по дате создания и первичному ключу. Таким образом мы получим фиксированные страницы данных, которые можно обрабатывать параллельно. Невозможно выполнить, если допускается удаление объектов.
13
14
15 )))
16 |(% style="width:61px" %) |(% style="width:1393px" %)
17 |(% style="width:61px" %) |(% style="width:1393px" %)
18
19