====== Будьте осторожны с развилками по событиям ======
{{tag>развилка параллельная_развилка развилка_по_событиям}}
Развилка по событиям немедленно прерывает ожидание всех событий при наступлении любого из них.
Если необходимо реализовать более гибкую бизнес-логику, используйте параллельную развилку и событие-останов.
===== ✔ Как надо =====
Flow_1v91670
Flow_1v91670
Flow_1bmuvfd
Flow_1omf6ox
Flow_1x386gx
Flow_0tjh6sh
Flow_0vj1spf
Flow_1fpmuu7
Flow_1omf6ox
Flow_0tjh6sh
Flow_0vj1spf
Flow_0v7giyt
Flow_0v7giyt
Flow_0xssdyb
Flow_1fpmuu7
Flow_0xssdyb
Flow_1bmuvfd
Flow_1x386gx
===== ✘ Как НЕ надо =====
Flow_0opoyid
Flow_1tv5ius
Flow_11x2rmj
Flow_1j4cmln
Flow_1elj1ik
Flow_11x2rmj
Flow_0opoyid
Flow_104xfj6
Flow_1tv5ius
Flow_06rckk1
Flow_06rckk1
Flow_0eyb0h5
Flow_083x67t
Flow_1j4cmln
Flow_0eyb0h5
Flow_104xfj6
Flow_083x67t
Flow_1elj1ik
===== Примечания =====
Обратите внимание на разницу между диаграммами: если процесс "[[#как_надо]]" ожидает прихода сообщения постоянно, то процесс "[[#как_не_надо]]" прекращает ожидание, когда срабатывает таймер.
В этой схеме, если сообщение приходит во время выяснения причины задержки, оно не будет обработано и в результате процесс зависнет после возврата к развилке по событиям.
===== Смотри также =====
* [[ru:rule:control_branch]]
===== Автор(ы) =====
--- //[[user:bell|Anatoly Belaychuk]] 2024-01-08 11:45//