Изменения документа Про передачу сигнала на процесс
Редактировал(а) Alexandr Fokin 2026/05/07 14:23
От версии 1.1
отредактировано Alexandr Fokin
на 2026/05/05 15:36
на 2026/05/05 15:36
Изменить комментарий:
К данной версии нет комментариев
К версии 1.4
отредактировано Alexandr Fokin
на 2026/05/05 15:57
на 2026/05/05 15:57
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -2,9 +2,10 @@ 2 2 |Описание колонок|((( 3 3 |(% style="width:232px" %) |(% style="width:1151px" %) 4 4 |(% style="width:232px" %)Триггер|(% style="width:1151px" %)Используется ли триггер 5 -|(% style="width:232px" %)Избытоная задержка сигнала|(% style="width:1151px" %)Свойство обозначающее, что процесс может получить сигнал (и продолжить обработку) позже чем мог бы (при использовании других подходов). 5 +|(% style="width:232px" %)Избыточная задержка сигнала|(% style="width:1151px" %)Свойство обозначающее, что процесс может получить сигнал (и продолжить обработку) позже чем мог бы (при использовании других подходов). 6 6 |(% style="width:232px" %)Stream триггер|(% style="width:1151px" %)Триггер, отслеживающий состояние процесса (выполняется он или нет). 7 7 Реализуется через отправку TriggerEvent в момент остановки выполнения процесса (делается автоматически если зарегистрирован). 8 +Пробуждает процесс (передает сигнал), только после того как процесс остановил выполнение. 8 8 |(% style="width:232px" %)Wakeup condition|(% style="width:1151px" %)Модуль wakeup condition проверяет условие наличия новых сигналов перед остановкой процесса. 9 9 От разработчика требуется реализация хендлера проверки условия. 10 10 |(% style="width:232px" %)Wakeup state|(% style="width:1151px" %)((( ... ... @@ -19,14 +19,16 @@ 19 19 ))) 20 20 ))) 21 21 |Типы передачи сигналов|((( 22 -| |(% style="width:662px" %)Тип|(% style="width:513px" %)Пример|Триггер|Избытоная задержка сигнала|Stream триггер|Wakeup condition|Wakeup state 23 +| |(% style="width:662px" %)Тип|(% style="width:513px" %)Пример|Триггер|Избыточная задержка сигнала|Stream триггер|Wakeup condition|Wakeup state 23 23 |1|(% style="width:662px" %)Если внешний сигнал единичный и процесс гарантировано остановлен, то его можно подать сразу на процесс (без триггера).|(% style="width:513px" %)((( 24 24 Линейный процесс отправил запрос и ждет 1 событие ответ. 26 +Хендлер события пробуждает процесс напрямую. 25 25 )))|-|-|-|-|- 26 26 |2|(% style="width:662px" %)Если внешний сигнал множественный или процесс может периодически запускаться, то сигнал нужно подавать через триггер.|(% style="width:513px" %) | | | | | 27 -|2.1|(% style="width:662px" %)Если не удалось получить блокировку процесса, то выполнение триггера откладывается на некоторый timeout.|(% style="width:513px" %) |+|+|-|-|- 28 -|2.2|(% style="width:662px" %)Если используется один stream триггер, то можно обойтись без таблицы wakeup state entity.|(% style="width:513px" %)Transactional outbox.|+| |+|+-| 29 -|2.3|(% style="width:662px" %)Wakeup condition + Wakeup state|(% style="width:513px" %) |+|-|-|+|+ 29 +|2.1|(% style="width:662px" %)Несколько конкурирующих триггеров с cannot hold lock timeout. 30 +Если не удалось получить блокировку процесса, то выполнение триггера откладывается на некоторый timeout.|(% style="width:513px" %) |+|+|-|-|- 31 +|2.2|(% style="width:662px" %)Если используется один stream триггер, то можно обойтись без таблицы wakeup state entity.|(% style="width:513px" %)Transactional outbox.|+|-|+|+-|- 32 +|2.3|(% style="width:662px" %)Несколько конкурирующих триггеров.|(% style="width:513px" %) |+|-|-|+|+ 30 30 31 31 32 32 )))