Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

Parallel

Общее описание

Логический блок Parallel предназначен для создания нескольких независимых веток потока, в которых выполняются параллельные задачи. В каждую такую ветку поступает копия начального сообщения, которое потом обрабатывается согласно логике, выстроенной в конкретной ветке.

Две пустые ветки добавляются автоматически при добавлении логического блока Parallel. Вы можете добавить еще одну или несколько веток, нажав на кнопку «+» справа от блока Parallel.

Ветку блока Parallel можно удалить вместе с блоком, размещенным в ней, нажав на кнопку удаления. При удалении элемента из последней ветки сама не удаляется, а отображается как пустая.

При удалении блока Parallel все его ветки удаляются вместе с ним.

Настройка блока

В данном разделе описаны параметры блока Parallel, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Parallel ProcessingparallelProcessingЕсли эта функция включена, отправка сообщений блокам-получателям происходит одновременно. Обратите внимание, что тред, вызвавший отправку, будет ждать полной обработки всех сообщений, прежде чем продолжить работу. Одновременно происходит только отправка и обработка ответов от блоков-получателей. Если включена параллельная обработка, механизм маршрутизации продолжит обработку с использованием последнего использованного потока из пула параллельных тредов. Однако, если вы хотите использовать исходный поток, вызвавший отправку блокам-получателям, обязательно включите параметр синхронизации. В режиме параллельной обработки вы можете также указать значение параметра True, чтобы заставить этот блок обрабатывать подзадачи с использованием верхних границ тред-пула. Если указать значение параметра False, это позволит движку использовать как можно больше тредов, которые могут быть доступны благодаря использованию других тред-пулов.FalseЛогическое значение
StreamingstreamingЕсли этот параметр включен, ответы будут обрабатываться в том порядке, в котором они приходят. Если этот параметр отключен, ответы будут обрабатываться точно в том же порядке, который определен в блоке Parallel.FalseЛогическое значение
SynchronoussynchronousОпределяет, следует ли строго использовать синхронную обработку. Если этот параметр включен, то для продолжения маршрутизации после завершения многоадресной отправки используется тот же поток, даже если включена параллельная обработка.FalseЛогическое значение

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
DisableddisabledОпределяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
TimeouttimeoutУстанавливает общее время ожидания, указанное в миллисекундах, при использовании параллельной обработки. Если многоадресной рассылке не удалось отправить и обработать все ответы в течение заданного периода времени, то срабатывает таймаут, многоадресная рассылка прерывается на текущем процессе и начинается следующий процесс обработки. При использовании агрегационной стратегии, основанной на Timeout, нужно иметь в виду, что если по истечении времени ожидания все еще остаются запущенные задачи, то некоторые задачи, которые сложно завершить корректным образом, могут продолжать выполняться. Поэтому используйте этот параметр с осторожностью.Строка
Executor ServiceexecutorServiceСсылается на пользовательский пул тредов, который будет использоваться для параллельной обработки. Обратите внимание, что если вы зададите этот параметр, то параллельная обработка будет подразумеваться автоматически, и вам также не нужно включать этот параметр.Строка
Share Unit Of WorkshareUnitOfWorkСовместно использует единицы работы с родительским и каждым из вложенных сообщений. По умолчанию многоадресная рассылка не будет разделять единицу работы между родительским обменом и каждым многоадресным обменом. Это означает, что у каждого вложенного обмена есть своя отдельная единица работы.FalseЛогическое значение
Stop On ExceptionstopOnExceptionЕсли во время обработки данных произойдет сбой, то дальнейшая обработка будет остановлена и сгенерировано исключение. Также процесс будет остановлен, если при обработке данных появилось сообщение об ошибке или было зафиксировано успешно обработанное исключение. Во всех случаях многоадресная рассылка остановит дальнейшую обработку.FalseЛогическое значение
Aggregation Strategy Method NameaggregationStrategyMethodNameЭтот параметр используется для явного объявления имени метода агрегации.FalseЛогическое значение
Aggregation Strategy Method Allow NullaggregationStrategyMethodAllowNull

Если этот параметр имеет значение False, то метод aggregate не применяется, если не было входных данных для обогащения.

Если этот параметр имеет значение True, агрегационная стратегия применяется с использованием значений NULL.

FalseЛогическое значение