Редактировал(а) Alexandr Fokin 2026/06/18 22:07

От версии 1.18
отредактировано Alexandr Fokin
на 2026/05/29 19:03
Изменить комментарий: К данной версии нет комментариев
К версии 1.15
отредактировано Alexandr Fokin
на 2026/05/29 16:22
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -26,21 +26,17 @@
26 26  |2|(% style="width:662px" %)Высокая интенсивность сигналов, высокая конкуренция за процесс.
27 27  Сигнал нужно подавать через триггер.|(% style="width:513px" %) | | | | |
28 28  |2.1|(% style="width:662px" %)Несколько конкурирующих триггеров с cannot hold lock timeout.
29 -Если не удалось получить блокировку процесса, то выполнение триггера откладывается на некоторый timeout.|(% style="width:513px" %)__Триггеры <-> Процесс.__|+|+|-|-|-
29 +Если не удалось получить блокировку процесса, то выполнение триггера откладывается на некоторый timeout.|(% style="width:513px" %) |+|+|-|-|-
30 30  |2.2|(% style="width:662px" %)Один stream триггер.
31 31  Высокая частота сигналов, но низкая конкуренция (условие активации триггера наличие необработанного сигнала и остановка процесса).
32 -Можно использовать без таблицы Wakeup lock.|(% style="width:513px" %)__Simple stream trigger <-> Процесс.__
33 -\\Transactional outbox. См [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Примеры.WebHome]] 3.|+|-|+|+-|-
32 +Можно использовать без таблицы Wakeup lock.|(% style="width:513px" %)Transactional outbox. См [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Примеры.WebHome]] 3.|+|-|+|+-|-
34 34  |2.2.1|(% style="width:662px" %)Каскад триггеров.
35 -Подход, когда 1 корневой simple stream trigger передает сигнал на процесс.
36 -А другие триггеры процесса передают сигнал не на процесс напрямую, а на корневой триггер.
37 -Корневой триггер передает на дочерние stream trigger trigger event о том, что процесс остановился.
38 -Данный подход позволяет использовать несколько триггеров (как в варианте 2.3), но при этом полностью убирает конкуренцию (не требует wakeup lock (и может работать без wakeup condition)).|(% style="width:513px" %)__Дочерние триггеры
39 -<-> Корневой триггер (Simple stream trigger)
40 -<-> Процесс__|+|-|+|+-|-
34 +Подход, когда 1 stream trigger передает сигнал на процесс.
35 +А другие триггеры процесса передают сигнал не на процесс напрямую, а на stream триггер.
36 +Данный подход позволяет использовать несколько триггеров (как в варианте 2.3), но не требует wakeup lock (и может работать без wakeup condition).|(% style="width:513px" %) |+|-|+|+-|-
41 41  |2.3|(% style="width:662px" %)Несколько конкурирующих триггеров.
42 42  Высокая интенсивность сигналов, высокая конкуренция за процесс.
43 -Для сглаживания конкуренции используется Wakeup lock (share блокировка минимизирует блокировку и сглаживает конкуренцию).|(% style="width:513px" %)__Триггеры <-> Процесс.__|+|-|-|+|+
39 +Для сглаживания конкуренции используется Wakeup lock (share блокировка минимизирует блокировку и сглаживает конкуренцию).|(% style="width:513px" %) |+|-|-|+|+
44 44  |3|(% style="width:662px" %)Периодическая проверка|(% style="width:513px" %)Процесс пробуждается каждые N timeout, используется только 1 timer trigger. См. [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Примеры.WebHome]] 1 (блок 2).|+|+|-|-|-
45 45  )))
46 46  | |