Size: a a a

Camunda BPM Group

2021 September 22

DK

Dmitrii Kanaev in Camunda BPM Group
да, можно глобально
источник

DK

Dmitrii Kanaev in Camunda BPM Group
просто у нас некоторые делегаты вызывают сторонние системы, а они не очень шустро отвечают, и иногда вызовы зависают более чем на 5 мин. А камунда грохает процесс (начинает ретраить его)
источник

SD

Serg D. in Camunda BPM Group
Чёт я не встречал такого поведения, хотя долгие выполнения были
источник

SD

Serg D. in Camunda BPM Group
Лок может слетать и повторный запуск, но чтобы прям тред рубился...
источник

DK

Dmitrii Kanaev in Camunda BPM Group
я заметил такое при зависании делегата на 5 мин
источник

OM

Oleg Marchenko in Camunda BPM Group
А зачем использовать делегаты для вызова внешних сеовисов? Есть же external tasks
источник

DK

Dmitrii Kanaev in Camunda BPM Group
Это как пример
источник

SD

Serg D. in Camunda BPM Group
Хех... не всегда есть возможность править внешний сервис
источник

EZ

Edward Zakharov in Camunda BPM Group
Да там есть ограничения на лок джоба. LockTimeInMillis за это отвечает по-моему
источник

EZ

Edward Zakharov in Camunda BPM Group
Но если вы не укладываетесь в 5 минут, то это очень плохо для вашего приложения.
источник

SD

Serg D. in Camunda BPM Group
Можно проверить легко. Сделайте делегат со sleep и обмажьте логами.  Все сразу наружу вылезет
источник

DK

Dmitrii Kanaev in Camunda BPM Group
так и сделал
источник

SD

Serg D. in Camunda BPM Group
И что? Тред убивается? InterruptedException (или как он там...)?
источник

OM

Oleg Marchenko in Camunda BPM Group
Так его не нужно править, его нужно просто вызвать и когда он ответит, продолжить выполнение процесса
источник

DK

Dmitrii Kanaev in Camunda BPM Group
Самое интересное что такого лога не было. Это по той ошибке, что я пару дней назад писал. Когда у меня терминировался процесс, но при этом когда он из слипа выходил - продолжал бежать, а потом чухал, что процесс уже ушел по фейловой ветке и завершен
источник

SD

Serg D. in Camunda BPM Group
Эм... это как?
источник

SD

Serg D. in Camunda BPM Group
Ну так тут дело в  локе, а не в том что камунда делегат убивает
источник

SD

Serg D. in Camunda BPM Group
Делегат не убирается, он продолжает жить,  джоба повторно берётся в работу
источник

OM

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

SD

Serg D. in Camunda BPM Group
Ну можно и так, да
источник