EnforceOrder
Описание
Обеспечивает соблюдение ожидаемого порядка файлов FlowFiles, принадлежащих одной и той же группе данных на одном узле. Хотя PriorityAttributePrioritizer можно использовать на соединении для обеспечения приоритетного порядка файлов FlowFiles, в зависимости от обработки ошибок, ветвления и других конструкций потока, файлы FlowFiles могут выйти из порядка. EnforceOrder можно использовать для обеспечения исходного порядка этих FlowFiles. [ВАЖНО] Для применения EnforceOrder, FirstInFirstOutPrioritizer должен использоваться на КАЖДОЙ следующей связи ДО тех пор, пока порядок файлов FlowFiles не будет восстановлен операцией, такой как MergeContent, или их записью в конечное место назначения.
Теги
sort, order
Свойства
Название | Описание |
---|---|
Group Identifier | EnforceOrder поддерживает несколько групп упорядочивания. «Идентификатор группы» используется для определения группы, к которой относится FlowFile. Это свойство будет оцениваться для каждого входящего FlowFile. Если результат оценки будет пустым, FlowFile будет перенаправлен на сбой. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Order Attribute | Имя атрибута FlowFile, значение которого будет использоваться для упорядочивания FlowFiles в группе. Если у FlowFile нет этого атрибута или его значение не является целым числом, FlowFile будет перенаправлен на сбой. |
Initial Order | Когда поступает первый FlowFile из группы, вычисляется и сохраняется в управляемом состоянии начальный целевой порядок. После этого целевой порядок начинает о тслеживаться EnforceOrder и сохраняться в хранилище управления состоянием. Если используется язык выражений, но результат вычисления не является целым числом, то файл Flow будет перенаправлен на сбой, а начальный порядок останется неизвестным до тех пор, пока последовательные файлы Flow не обеспечат допустимый начальный порядок. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Maximum Order | Если указано, то все файлы Flow с более высоким порядком будут перенаправлены на сбой. Это свойство вычисляется только один раз для данной группы. После вычисления максимального порядка он сохраняется в хранилище управления состоянием и используется для других файлов Flow, принадлежащих к той же группе. Если используется язык выражений, но результат вычисления не является целым числом, то файл потока будет перенаправлен на сбой, а максимальный порядок останется неизвестным до тех пор, пока последовательные файлы потока не обеспечат допустимый максимальный порядок. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды) |
Batch Count | Максимальное количество FlowFiles, которые EnforceOrder может обработать за один запуск. |
Wait Timeout | Указывает продолжительность, по истечении которой ожидающие файлы потока будут перенаправлены в отношение «опередил». |
Inactive Timeout | Указывает продолжительность, по истечении которой состояние неактивной группы будет удалено из управляемого состояния. Группа считается неактивной, если в течение указанного времени не было получено ни одного нового входящего FlowFile для этой группы. Время ожидания неактивности должно быть больше, чем время ожидания ожидания. Если FlowFile поступает с опозданием после того, как его группа уже очищена, он будет рассматриваться как новая группа, но никогда не будет соответствовать порядку, так как ожидаемые предыдущие FlowFiles уже удалены. В конечном итоге время ожидания FlowFile истечёт, и он будет перенаправлен в раздел «опережение». Чтобы избежать этого, состояния групп должны сохраняться достаточно долго, однако более короткая продолжительность будет полезна для повторного использования одного и того же идентификатора группы. |
Взаимосвязи
- overtook: Файл потока, который ждал предшествующие файлы потока дольше, чем время ожидания, и обогнал эти файлы потока, будет направлен в эту связь.
- skipped: Файл потока, который имеет порядок младше текущего, то есть прибыл слишком поздно и был пропущен, будет направлен в эту связь.
- success: В это отношение будет перенаправлен потоковый файл с соответствующим номером заказа.
- wait: Файл потока с несоответствующим порядком будет направлен в эту связь
- failure: Потоковые файлы, которые не имеют обязательных атрибутов или не могут их вычислить, будут перенаправлены в это отношение