Изменения документа Stream триггер
Редактировал(а) Alexandr Fokin 2026/08/28 11:44
От версии 1.2
отредактировано Alexandr Fokin
на 2026/08/26 18:59
на 2026/08/26 18:59
Изменить комментарий:
К данной версии нет комментариев
К версии 1.1
отредактировано Alexandr Fokin
на 2026/08/26 18:53
на 2026/08/26 18:53
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,19 +1,0 @@ 1 -|(% style="width:147px" %)Введение|(% style="width:1334px" %)К данному решению пришел после [[Гарантированная конкурентная доставка сигнала (wakeup state)>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Про передачу сигнала на процесс.Гарантированная конкурентная доставка сигнала (wakeup state).WebHome]] и оно его заменило. 2 -Нет недостатков прошлого решения. 3 -|(% style="width:147px" %)Реализация|(% style="width:1334px" %)Триггер отслеживает не только поступающие сигналы но и состояние процесса. Находится ли он в состояние асинхронного выполнения или в состоянии ожидания внешнего сигнала. 4 -Триггер запускается, когда есть сигнал и процесс находится в состоянии ожидания. 5 -|(% style="width:147px" %) |(% style="width:1334px" %)((( 6 -* Позволяет убрать лишние запросы пробуждения процесса (когда он и так запущен). 7 -* __Позволяет полностью убрать задержку после остановки процесса__ (если есть новое сообщения, то он сразу же будет пробужден). 8 -За счет того, что триггер точно знает, что есть новые сообщения и процесс только что уснул. 9 -* Позволяет не выполнять wakeup код в конце сессии обработки (если отключить wakeup, оставить только stream trigger) 10 -(блокировка и обновление wakeup entity, проверка wakeup условия). 11 -))) 12 -|(% style="width:147px" %)Offset stream триггер.|(% style="width:1334px" %)((( 13 -Можно также хранить в триггере offset (по аналогии с kakfa), в таком случае триггер может избежать перепроверки условия пробуждения (не проверять наличие необработанных сообщений в БД), достаточно только отслеживать значения смещений. 14 - 15 -* Вводит 2 типа события, 1 сигнал о новом сообщении (содержит offset значение), 2 - процесс идет спать (содержит offset значение). 16 -* Вводит дополнительное состояние в триггер: максимальный offset сообщения, максимальный offset обработанного процессом сообщения, флаг состояния сна процесса 17 -))) 18 - 19 -