Запуск бизнес процесса в фоновом режиме

Добрый день.

Версия BPM 7.2

Есть ли возможность запускать бизнес-процесс в фоновом режиме? Сейчас использую такой код при нажатии на кнопку:

ProcessModuleUtilities.executeProcess(processArgs);

Проблема в том, что страница блокируется (появляется значок загрузки). Однако мой бизнес-процесс работает длительное время, он меняет состояние записей в определенном разделе (Выполняется, Ошибка, Успешно и т.д.), может обрабатывать по несколько записей за запуск, и необходимо дать пользователю возможность продолжать работу с системой.

Спасибо!

Нравится

3 комментария

Добрый день!

Проблема может заключатся в логике выполнения самого процесса (нет прав доступа на записи, некорректная обработка записи).
Если логика процесса не подразумевает взаимодействие с пользователем(отобразить страницу редактирования, вопрос пользователю и т.д.) то процесс по умолчанию будет отрабатывать в фоновом режиме.
Вы верно указали, для запуска процесса используется метод executeProcess(processArgs).
Начните с простого, запустите процесс по кнопке, который обработает 1 запись и посмотрите результат.

Бизнес-процесс не взаимодействует с пользователем. Там нет элементов взаимодействия с пользователем. БП считывает правила синхронизации из БД, выполняет запросы к удаленному стороннему web-сервису, разбирает ответ и затем обновляет данные в БД. При возникновении любой ошибки, процесс записывает информацию в лог и переходит к другому правилу синхронизации из набора.

На текущий момент удаленный web-сервис недоступен, возникает ошибка соединения, сообщение об ошибке попадает в лог - но во время всего этого страница пользователя блокируется, до тех пор, пока процесс не прекратит работу.

А необходимо, чтобы процесс запустился и вся его работа выполнялась в фоне.

В какую сторону мне посмотреть?

Артем,
Попробуйте поставить в начале процесса элемента “Таймер” с какой-то задержкой. В результате будет создан триггер, который продолжит выполнение процесса в указанное время, от этого же пользователя в фоновом режиме.

Показать все комментарии