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

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

От версии 27.13
отредактировано Alexandr Fokin
на 2026/04/12 11:42
Изменить комментарий: К данной версии нет комментариев
К версии 27.3
отредактировано Alexandr Fokin
на 2026/04/10 19:46
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -18,13 +18,13 @@
18 18  * Транзакции: транзакции.
19 19  * Транзакции: savepoint.
20 20  (если используются, можно обрабатывать каждый шаг отдельной транзакцией или весь процесс без savepoint изоляции ошибок между шагами).
21 -* [[Блокировки>>doc:Разработка.Базы данных.SQL.Механизмы.Транзакции и блокировки.WebHome]]: updatelock.
22 -* [[Блокировки>>doc:Разработка.Базы данных.SQL.Механизмы.Транзакции и блокировки.WebHome]]: updatelock skip locked.
21 +* Блокировка: updatelock.
22 +* Блокировка: updatelock skip locked.
23 23  (частично можно обойтись без него).
24 -* [[Блокировки>>doc:Разработка.Базы данных.SQL.Механизмы.Транзакции и блокировки.WebHome]]: sharelock
24 +* Блокировка: sharelock
25 25  (можно обойтись без него без сильного влияния)
26 -* [[Уровни изоляции>>doc:Разработка.Базы данных.SQL.Механизмы.Транзакции и блокировки.Уровни изоляции | Isolation levels.WebHome]]: работает на read committed, то что нужно блокируется руками.
27 -* Для некоторых кейсов желательно возможность выполнить [[Upsert>>doc:Разработка.Базы данных.SQL.Сценарии и вопросы.Insert or update\. Upsert.WebHome]] (insert on conflict).
26 +* Уровень изоляции: работает на read committed, то что нужно блокируется руками.
27 +* Для некоторых кейсов желательно возможность выполнить upsert (insert on conflict).
28 28  )))
29 29  |(% style="width:150px" %)Брокер сообщений|(% style="width:1177px" %)(((
30 30  Используется для накопления и доставки TriggerEvent.
... ... @@ -98,16 +98,12 @@
98 98  Этот триггер выполняется периодически с более крупной временной задержкой. В случае обнаружения потери TriggerEvent, он поднимет заклинивший родительский процесс и он будет обработан (но позже). Можно установить этому триггеру низкий приоритет.
99 99  )))
100 100  |(% style="width:870px" %)[[image:Родительский дочерний процесс. Sequence.jpg]]
101 -|(% style="width:870px" %)(((
102 -
103 103  )))
104 -)))
105 105  |(% style="width:32px" %)2|(% style="width:171px" %)Transaction outbox stream process.|(% style="width:1066px" %)[[image:TransactionOutbox. Sequence.jpg]]
106 106  |(% style="width:32px" %)3|(% style="width:171px" %)Stream trigger|(% style="width:1066px" %)(((
107 107  |(% style="width:94px" %) |(% style="width:1002px" %)(((
108 108  * Позволяет убрать лишние запросы пробуждения процесса (когда он и так запущен).
109 109  * Позволяет полностью убрать задержку после остановки процесса (если есть новое сообщения, то он сразу же будет пробужден).
110 -За счет того, что триггер точно знает, что есть новые сообщения и процесс только что уснул.
111 111  * Вводит 2 типа события, 1 сигнал о новом сообщении (содержит offset значение), 2 - процесс идет спать (содержит offset значение).
112 112  * Вводит дополнительное состояние в триггер: максимальный offset сообщения, максимальный offset обработанного процессом сообщения, флаг состояния сна процесса.
113 113  )))
... ... @@ -129,26 +129,4 @@
129 129  )))
130 130  )))
131 131  
132 -----
133 -
134 -==== Внутренние ссылки: ====
135 -
136 -====== Дочерние страницы: ======
137 -
138 -{{children/}}
139 -
140 -====== Обратные ссылки: ======
141 -
142 -{{velocity}}
143 -#set ($links = $doc.getBacklinks())
144 -#if ($links.size() > 0)
145 - #foreach ($docname in $links)
146 - #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
147 - * [[$escapetool.xml($rdoc.fullName)]]
148 - #end
149 -#else
150 - No back links for this page!
151 -#end
152 -{{/velocity}}
153 -
154 -----
128 +