Loop
Общее описание
Блок Loop обеспечивает циклическую обработку сообщений. Алгоритм работы блока является аналогом циклов For и Do-While классических языков программирования.
При добавлении блока на рабочую область рядом с ним отображается область его действия, обрамляющая все блоки, добавляемые в эту область. Область можно сворачивать и разворачивать на экране стрелкой в правом верхнем углу рабочей области. Блоки, добавленные в рабочую область, выполняются в рамках одного цикла.
При удалении блока Loop удаляются все блоки, расположенные внутри его области действия.
Настройка блока
В данном разделе описаны параметры блока Loop, которые необходимо заполнить при его настройке.
Базовые параметры
| Название в UI | Название арибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Language | language | Обязательный параметр
| groovy | Список |
| Expression | expression | Обязательный атрибут
| Выражение | Возможные значения:
|
| Result Type | resultType | Формат вывода результатов выражения. | Строка | |
| Trim | trim | Задает нужно ли отсекать перенос строки и пробелы в начале и конце значения. | True | Логическое значение |
Расширенные параметры
| Название | Название | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Disabled | disabled | Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. | False | Логическое значение |
| Copy | copy | Определяет, что для каждой итерации цикла используется копия входного сообщения, то есть каждая итерация цикла будет начинаться с копии одного и того же сообщения. | False | Логическое значение |
| Do While | doWhile | Включает режим работы цикла while, который выполняется до тех пор, пока предикат не станет ложным или нулевым. | False | Логическое значение |
| Break On Shutdown | breakOnShutdown | Определяет, должен ли цикл прерываться, если поток останавливается во время выполнения. При установке значения True цикл остановится сразу, а при значении False – продолжит работу до завершения своей текущей итерации, несмотря на остановку потока, что гарантирует завершение обработки данных.
Поток останавливается, текущая итерация цикла немедленно прерывается, сам цикл завершается. Все незавершенные операции внутри цикла будут отменены.
Цикл продолжит выполнение текущей итерации, даже если поток был остановлен. Таким образом, все сообщения, уже находящиеся в цикле, будут обработаны до конца, прежде чем цикл завершится.
| False | Логическое значение |