Изменения документа Про передачу сигнала на процесс
Редактировал(а) Alexandr Fokin 2026/07/30 12:36
От версии 1.14
отредактировано Alexandr Fokin
на 2026/05/17 10:42
на 2026/05/17 10:42
Изменить комментарий:
К данной версии нет комментариев
К версии 1.26
отредактировано Alexandr Fokin
на 2026/07/30 12:35
на 2026/07/30 12:35
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.WebHome 1 +Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.WebHome - Содержимое
-
... ... @@ -14,7 +14,7 @@ 14 14 Модуль wakeup lock добавляет отдельную таблицу для синхронизации. 15 15 Используется только в сочетании с Wakeup condition. 16 16 17 -[[Гарантированная конкурентная доставка сигнала>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Гарантированная конкурентная доставка сигнала.WebHome]] 17 +[[Гарантированная конкурентная доставка сигнала>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Про передачу сигнала на процесс.Гарантированная конкурентная доставка сигнала (wakeup state).WebHome]] 18 18 ))) 19 19 ))) 20 20 |Типы передачи сигналов|((( ... ... @@ -26,15 +26,50 @@ 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" %)Transactional outbox. См [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Примеры.WebHome]] 3.|+|-|+|+-|- 32 +Можно использовать без таблицы Wakeup lock.|(% style="width:513px" %)__Simple stream trigger <-> Процесс.__ 33 +\\Transactional outbox. См [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Примеры.WebHome]] 3.|+|-|+|+-|- 34 +|2.2.1|(% style="width:662px" %)Каскад триггеров. 35 +Подход, когда 1 корневой simple stream trigger передает сигнал на процесс. 36 +А другие триггеры процесса передают сигнал не на процесс напрямую, а на корневой триггер. 37 +Данный подход позволяет использовать несколько триггеров (как в варианте 2.3), но при этом полностью убирает конкуренцию (не требует wakeup lock (и может работать без wakeup condition)).|(% style="width:513px" %)__Дочерние триггеры 38 +<-> Корневой триггер (Simple stream trigger) 39 +<-> Процесс__|+|-|+|+-|- 33 33 |2.3|(% style="width:662px" %)Несколько конкурирующих триггеров. 34 34 Высокая интенсивность сигналов, высокая конкуренция за процесс. 35 -Для сглаживания конкуренции используется Wakeup lock (share блокировка минимизирует блокировку и сглаживает конкуренцию).|(% style="width:513px" %) |+|-|-|+|+ 36 -|3|(% style="width:662px" %)Периодическая проверка|(% style="width:513px" %)Процесс пробуждается каждые N timeout, используется только 1 timer trigger. См. [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Примеры.WebHome]] 1 (блок 2).|+|+|-|-|- 42 +Для сглаживания конкуренции используется Wakeup lock (share блокировка минимизирует блокировку и сглаживает конкуренцию).|(% style="width:513px" %)((( 43 +__Триггеры <-> Процесс.__ 44 + 45 +__[[Гарантированная конкурентная доставка сигнала>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Про передачу сигнала на процесс.Гарантированная конкурентная доставка сигнала (wakeup state).WebHome]]__ 46 +)))|+|-|-|+|+ 47 +|3|(% style="width:662px" %)Периодическая проверка|(% style="width:513px" %)Процесс пробуждается каждые N timeout, используется только 1 timer trigger. См. [[Примеры>>doc:Проекты и репозитории.Библиотеки.Движок cccc1808\. ProcessEngine.Тема\. Сигналы и триггеры.Примеры.WebHome]] 1 (блок 2).|+|+|-|-|- 37 37 ))) 38 38 | | 39 39 51 +---- 52 + 53 +==== Внутренние ссылки: ==== 54 + 55 +====== Дочерние страницы: ====== 56 + 57 +{{children/}} 58 + 59 +====== Обратные ссылки: ====== 60 + 61 +{{velocity}} 62 +#set ($links = $doc.getBacklinks()) 63 +#if ($links.size() > 0) 64 + #foreach ($docname in $links) 65 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 66 + * [[$escapetool.xml($rdoc.fullName)]] 67 + #end 68 +#else 69 + No back links for this page! 70 +#end 71 +{{/velocity}} 72 + 73 +---- 74 + 40 40