Рекомендуется ли использовать непрерывное событие перехвата промежуточного сообщения на границе задачи получения в камунде
Почему я это сделал:
Причина использования такого подхода заключается в том, что я хочу, чтобы рабочий процесс ожидал на этом узле, пока видео не будет полностью скопировано, но в то же время я хочу получать уведомление о проценте прогресса, достигнутого при копировании, который будет отправлен с разное приложение на каждые 2 с.
Проблема столкнулась:
Случайно при выполнении рабочего процесса промежуточное событие перехвата сообщения на границе не регистрируется, и я получаю ошибку в основном для первого обратного вызова из приложения копирования видео, когда оно пытается сопоставить событие сообщения на границе.
Есть и другие способы, такие как создание простой петли в камунде для достижения того же поведения.
Но случайная ошибка в моем случае - мое беспокойство, если кто-то знает об этой проблеме или кто-нибудь с лучшим подходом может помочь мне.
1 ответ
Подход с непрерывным граничным событием действителен, но, возможно, немного многословен. Я предпочел бы это по сравнению с любой конструкцией цикла, но вы также подумали о "просто" обновлении переменной процесса извне, чтобы указать состояние? Вам не нужно никакого элемента BPMN, чтобы разрешить это. См., Например, API REST для обновления переменных процесса: https://docs.camunda.org/manual/7.7/reference/rest/process-instance/variables/put-variable/. То же самое, конечно, возможно с Java API.
Случайно при выполнении рабочего процесса промежуточное событие перехвата сообщения на границе не регистрируется, и я получаю ошибку в основном для первого обратного вызова из приложения копирования видео, когда оно пытается сопоставить событие сообщения на границе.
Это не должно происходить и должно иметь причину, которую вы должны попытаться выяснить. События получения сообщений работают на 100% в самой Камунде, поэтому вам следует искать подсказку, когда это происходит, или лучше всего извлечь небольшой тестовый пример, чтобы изолировать проблему.