Изменения документа Движок cccc1808. ProcessEngine

Редактировал(а) Alexandr Fokin 2026/04/27 13:28

От версии 1.5
отредактировано Alexandr Fokin
на 2026/04/10 14:22
Изменить комментарий: К данной версии нет комментариев
К версии 1.6
отредактировано Alexandr Fokin
на 2026/04/10 14:26
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -4,28 +4,32 @@
4 4  [[Процесс>>doc:Архитектура и модели.Модели.Процесс.WebHome]]
5 5  )))
6 6  |(% style="width:132px" %)Особенности|(% style="width:1301px" %)(((
7 -|(% style="width:158px" %)Батчинг|(% style="width:1125px" %)(((
7 +|(% style="width:159px" %)Батчинг|(% style="width:1168px" %)(((
8 8  Возможность использовать и комбинировать разные типы выполнения как
9 9  
10 10  * (1 транзакция - 1 процесс),
11 11  * (1 транзакция - N процессов).
12 12  )))
13 -|(% style="width:158px" %)Изоляция шагов и процессов (внутри оной транзакции)|(% style="width:1125px" %)(((
13 +|(% style="width:159px" %)Изоляция шагов и процессов (внутри оной транзакции)|(% style="width:1168px" %)(((
14 14  * Изоляция через db savepoint.
15 15  * Для [[EntityFramework ~| EntityFrameworkCore>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.WebHome]] возможность делать InMemory снимок [[Создание снимка ChangeTracker>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.Сценарии и проблемы.Создание снимка ChangeTracker.WebHome]].
16 16  )))
17 -|(% style="width:158px" %)БД провайдер|(% style="width:1125px" %)(((
17 +|(% style="width:159px" %)БД провайдер|(% style="width:1168px" %)(((
18 18  * Сейчас есть реализация под EntityFramework.
19 19  * Но модель позволяет сделать реализацию под другие решения (LinqToDb или чистый Ado.Net).
20 20  )))
21 -|(% style="width:158px" %)Передача сигналов для процессов через систему триггеров.|(% style="width:1125px" %)(((
21 +|(% style="width:159px" %)Передача сигналов для процессов через систему триггеров.|(% style="width:1168px" %)(((
22 22  В том числе для передачи сигналов реализована система триггеров.
23 23  Она позволяет оптимизировать операции с БД.
24 24  
25 25  см. пример 1.
26 26  )))
27 -|(% style="width:158px" %)Перехват ошибок|(% style="width:1125px" %)Перехват и обработка ошибок, если процесс выкинул exception в движок. Реализацию простого retry с задержкой.
28 -|(% style="width:158px" %)Soft timeout|(% style="width:1125px" %)Возможность указывать soft timeout, который будет мягко приостанавливать цикл (внутри шага процесса), чтобы ограничить общее время транзакции (не делать транзакции долгими (например горизонт postgres)). 
27 +|(% style="width:159px" %)Перехват ошибок|(% style="width:1168px" %)Перехват и обработка ошибок, если процесс выкинул exception в движок. Реализацию простого retry с задержкой.
28 +|(% style="width:159px" %)Параллельное выполнение|(% style="width:1168px" %)Допускается запуск нескольких раннеров (на разных нодах), работающих с одной таблицей процессов для распределения нагрузки между ними.
29 +Допускается фильтрация типов процессов между нодами (чтобы нода выполняла только определенные типы процессы, в том числе по приоритету).
30 +Доступно для раннеров процессов и триггеров.
31 +\\В перспективе возможны решения с шардиванием.
32 +|(% style="width:159px" %)Soft timeout|(% style="width:1168px" %)Возможность указывать soft timeout, который будет мягко приостанавливать цикл (внутри шага процесса), чтобы ограничить общее время транзакции (не делать транзакции долгими (например горизонт postgres)). 
29 29  Например родительский процесс может создать N/2 дочерних процессов за 1 сессию и N/2 за 2 сессию выполнения.
30 30  )))
31 31  |(% style="width:132px" %)Примеры|(% style="width:1301px" %)(((