Здравствуйте. Новичок в камунде. Практически первый проект. Изучаю возможности системы. Сделал на тестовом окружении бизнес процесс с использованием Java Spring Camunda 7.16 + Camunda External Task на соседнем серваке. Сервер не загружен абсолютно, по факту я там один. В Engine задеплоен один процесс. Стартую новый инстанс. Переход от стартового ивента в первый External Task занимает от 5 секунд до пол минуты. Все это время непонятно что происходит, т.к. другой активности нет. Видимо движок в равные промежутки времени считывает из базы готовые к исполнению активити и передает их как-то на выполнение на другой сервер External Task. И в целом по дальнейшему процессу - движок может реагировать сразу, а может ждать опять же те же пол минуты. Какими настройками сократить время ожидания и повысить, как бы сказать, латентность, что-ли, исполнения процесса? Спасибо за любую помощь.
Добрый день!
-
Каким образом реализован External Task? С помощью camunda-bpm-spring-boot-starter-external-task-client или другая реализация? Какие настройки у External Task клиента?
-
Как выглядит модель бизнес-процесса? Есть ли на сервисной задаче, реализованной External Task’ом, признак Async (asynchronous continuations) Before = true?
Здравствуйте.
- Каким образом реализован External Task?
С помощью camunda-bpm-spring-boot-starter-external-task-client или другая реализация?
Да, она. Версия 7.16.0
Какие настройки у External Task клиента?
Особо никаких, все по -умолчанию. Даже не знаю, куда копать, в сторону каких именно настроек. Вставлено только
camunda.bpm.client.async-response-timeout=1000
Как выглядит модель бизнес-процесса?
Обычные квадратики с пометкой ExternalTask и уникальным топиком.
Есть ли на сервисной задаче, реализованной External Task’ом, признак Async (asynchronous continuations) Before = true?
Нет. А что это мне даст, если мне асинхронное выполнение не нужно?
В общем, происходит примерно так. Камунда стартует процесс, переходит сразу на первый external таск и тут зависает до полминуты. Причем время реакции может колебаться от 5 секунд до пол минуты. Как будто бы зависит от того, в какую фазу чего-то периодического попадет таск. Где-то видимо есть настройки - через какой промежуток времени исполнять код или что-то такое. Может на стороне engine, а не на стороне ExternalTask.
Я разобрался с этим замедлением.
Замедление происходит из-за включенной по умолчанию BackoffStrategy. Теперь бы разобраться - нужно ли это мне, или можно смело выключить.