Size: a a a

Camunda BPM Group

2021 October 03

NN

Nurlan N in Camunda BPM Group
Не дает добавить ccылку, RuntimeService runtimeService = engine.getRuntimeService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("MyProcess");

TaskService taskService = engine.getTaskService();
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();

Task task = taskList.get(0); и здесь менять данные задачи, или все таки TaskListener рекомендуемый подход?
источник

YK

Yuri Kolesnikov in Camunda BPM Group
Почему бы просто не передать все переменные при старте процесса?
источник

NN

Nurlan N in Camunda BPM Group
ну мне придется передать все переменные, так как я сабмичу форму, далее создается процесс и в процессе создается задача. И мне надо эту, созданную задачу записать все переменные.
источник

YK

Yuri Kolesnikov in Camunda BPM Group
Переменные процесса доступны в задаче
источник

AV

Alexander Vlasenko in Camunda BPM Group
Переменые стартовой формы доступны в дальнейшем как переменные процесса и соответственно будут доступны как переменные в других формах этого процесса
источник

OM

Oleg Marchenko in Camunda BPM Group
Всем привет, я же правильно понимаю, что у Camunda для работы с ExternalTask, кроме ExternalTaskService.fetchAndLock(), больше нет механизмов?
источник

SD

Serg D. in Camunda BPM Group
А какие вам ещё нужны?)
источник

OM

Oleg Marchenko in Camunda BPM Group
Меня просто удивляет, что есть только пуллинг, а что-то более отзывчивого - нет, какой-нибудь Observable, чтоб за тасками не нужно было базу постоянно дергать..
источник

OM

Oleg Marchenko in Camunda BPM Group
Я практически написал стартер для бута с таким механизмом, но только потом подумал спросить у людей, может что-то подобное есть и я плохо исходники камунды смотрел)
источник

SD

Serg D. in Camunda BPM Group
Ну во-первых там реализован long polling...
источник

SD

Serg D. in Camunda BPM Group
И под капотом что-то на подобии observable
источник

SD

Serg D. in Camunda BPM Group
При создании external task  дёргается метод, который "пробуждает" поток, который ходит в базу за тасками. Это очень примитивное объяснение, конечно все немного сложнее. С бэкоффами и прочим
источник

SD

Serg D. in Camunda BPM Group
Можно навернуть и пушить таски при создании, но в бд все равно придётся ходить, чтобы лочить.  Комплит выполнять придётся по worker id
источник

OM

Oleg Marchenko in Camunda BPM Group
Там, это где? Можно ссылку на код?
источник

OM

Oleg Marchenko in Camunda BPM Group
Это откуда вы такое взяли?
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
Если у вас есть возможность юзать observable, зачем вам ext tasks? Пишите обычные java-делегаты. Цель ext tasks - расшарить выполнение задач по http протоколу, где конечно есть что-то подобное но почти всегда это гемморой
источник

OM

Oleg Marchenko in Camunda BPM Group
такой возможности нет априори, java делегаты это не тоже самое, что внешние задачи и цель внешних задач состоит не в этом, а в том, чтоб переложить выполнение на другую сторону
источник

R

Ruslan Kadyrbaev in Camunda BPM Group
А я что то другое сказал?) задачи исполняются внешними воркерами, воркеры ограничены пока из коробки обычным rest, где вы тут впихнете observable и самое интересное как?)
источник

OM

Oleg Marchenko in Camunda BPM Group
мы видимо о разном подходе в работе с камундой) у нас embedded camunda, я говорю в этом контексте
источник

SD

Serg D. in Camunda BPM Group
Из исходных кодов вестимо
источник