Изменения документа Инициализация процесса

Редактировал(а) Alexandr Fokin 2024/06/12 15:27

<
От версии < 1.31 >
отредактировано Alexandr Fokin
на 2024/01/11 14:18
К версии < 1.32 >
отредактировано Alexandr Fokin
на 2024/01/11 14:20
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -77,11 +77,11 @@
77 77  Необходимое условие: Наличие способа перебрать данные сета данных.
78 78  Вариант 1: Если перебираем записи без использования параллелизма, то нам достаточно организовать некоторую пагинацию и последовательно идти, обрабатывая подходящие для запуска процесса строки.
79 79  \\Вариант 2:
80 -Если мы уверены, что доменные объекты не удаляются, то мы можем отсортировать их по дате создания и первичному ключу. Таким образом мы получим детерминированные страницы данных, которые даже можно обрабатывать параллельно. Невозможно выполнить, если допускается удаление объектов т.к. оно может изменить данные в страницах.
80 +Если мы уверены, что доменные объекты не удаляются, то мы можем отсортировать их по дате создания и первичному ключу (Если есть уникальный автоинкреметный числовой ключ, то можно использовать его).
81 +Таким образом мы получим детерминированные страницы данных, которые даже можно обрабатывать параллельно.
82 +Невозможно выполнить, если допускается удаление объектов т.к. оно может изменить данные в страницах.
83 +Либо можно прикинуть вариант, когда мы используем блокировку доменных объектов через БД, таким в каждом обрабатываем батче будет уникальный набор строк, и если одна и та же строка попадет в разные батчи, то в первом случае она обработается, а во втором она будет отброшена.
81 81  
82 -Вариант 3:
83 -Если есть уникальный автоинкреметный числовой ключ, то можно использовать его.
84 -
85 85  Вариант 4:
86 86  Если кол-во записей не очень велико и мы можем без проблем полностью уместить сет всех ключей в оперативной памяти.
87 87  (Не требует гарантии, что сущность нельзя удалить, т,к. в случае обнаружения удаления можно просто пропустить ключ).