Комментарии 18
А вот во Flowable так не выйдет!
Таким значком изображается параллельный шлюз. Parallel Gateway — самый простой из шлюзов для построения параллельно выполняющейся части процесса.
Существует два типа параллельных шлюзов:
fork — создает отдельный execution для каждой ветки;
join — ожидает выполнения всех входящих executions.
Тогда, что-то я запутался. В исправленной схеме на диаграмме 8, разве join Parallel не должен дождаться токенов со всех входящих в него стрелочек? В него же входят 5 стрелок (вместе с дефолтным). А прийти может, например, 2 — после проверки и после валерьянки.
Я когда-то давно был одним из тех, кто писал первый кредитный конвейер для Тинькофф. Честно скажу — с тех самых пор (до настоящего времени) ко мне все еще прибегают рекрутеры с предложениями поработать на IBM BPM. Эх, скольких пришлось разочаровать…
Раз за вас, что наконец нашелся более удобный движок.
Раз за вас, что наконец нашелся более удобный движок.
Мое понимание паралельного гетвея, сколько токенов вышло и форка, столько же должно зайти в джойн.
Если это понимание верно, то в данной моделе искусственно создаётся проблема для БПМ Движка!
- Два токена вышли из форк.
- Один из двух токенов превращается в 2, 3, 4
- Джойн паралель не может правильно посчитать токены.
Не пробовали вместо джойн инкюзив сделать джойн паралель?
Тогда бы все токены по нижней ветке соберутся в один -> и джойн паралельного получит два токена, как он и планировал изначально.
На диаграмме 8 примерно это и происходит. Все собирается в параллеле джойн. А насчет того чтобы сделать 2 паралл джойн — это кажется контринтуитивно. Ради интереса впрочем попробовать можно
Для того, чтобы исходить из принципа "сколько токенов вышло и форка, столько же должно зайти в джойн", нужно некоторое соответствие взаимное форков и джойнов, а оно-то BPMN и не требуется.
Всё-таки, BPMN задумывалось как средство бизнес-анализа, а не как средство реализации.
зашёл думал будет про дедлоки, а написали про то что не знают bpmn, похвально!
Если убрать execution 2-4 в subprocess, то проблема уйдет?
Диаграмма 8 не будет работать.
Вот цитата: «A parallel gateway will simply wait for all incoming sequence flows ......»
Вот цитата: «A parallel gateway will simply wait for all incoming sequence flows ......»
У меня вопрос про исходную логику этого синтетического примера:
А точно ли не связаны? Предложение услуг разве предусматривается для неблагонадежных клиентов? В описанной схеме поиск услуг будет обрабатываться даже для неблагонадежных клиентов, что, вероятно, будет зря расходовать ресурсы. Может, следовало бы поиск услуг запускать после выполнения проверки надежности только с положительным результатом?
Проверка благонадежности и возможных услуг никак между собой не связаны — эти действия можно выполнять параллельно.
А точно ли не связаны? Предложение услуг разве предусматривается для неблагонадежных клиентов? В описанной схеме поиск услуг будет обрабатываться даже для неблагонадежных клиентов, что, вероятно, будет зря расходовать ресурсы. Может, следовало бы поиск услуг запускать после выполнения проверки надежности только с положительным результатом?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Можете написать Deadlock на Camunda BPM? А я могу