Исходный код вики Инициализация процесса
Версия 1.1 от Alexandr Fokin на 2024/01/11 12:26
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
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 |