Перейти к основному содержимому

Wait

Описание

Направляет входящие FlowFile в отношение 'wait' до тех пор, пока в распределенном кэше не будет сохранен соответствующий сигнал освобождения от соответствующего процессора Notify. Когда идентифицирован соответствующий сигнал освобождения, ожидающий FlowFile направляется в отношение 'success'. Запись сигнала освобождения затем удаляется из кэша. Атрибуты FlowFile, который создал сигнал освобождения, копируются в ожидающий FlowFile, если свойство Attribute Cache Regex соответствующего процессора Notify настроено правильно. Если в кэше идентифицировано несколько сигналов освобождения по идентификатору Release Signal Identifier и процессор Notify настроен на копирование атрибутов FlowFile в кэш, то FlowFile, проходящий через процессор Wait, получает объединение атрибутов FlowFile, создавших сигналы освобождения в кэше (идентифицируемые по Release Signal Identifier). Ожидающие FlowFile будут направлены в 'expired', если они превысят срок действия Expiration Duration. Если нужно дождаться более одного сигнала, укажите желаемое количество сигналов через свойство 'Target Signal Count'. Это особенно полезно для процессоров, которые разделяют исходный FlowFile на несколько фрагментов, например, SplitText. Чтобы дождаться обработки всех фрагментов, подключите отношение 'original' к процессору Wait, а отношение 'splits' к соответствующему процессору Notify. Настройте процессоры Notify и Wait на использование '${fragment.identifier}' в качестве значения 'Release Signal Identifier' и укажите '${fragment.count}' в качестве значения 'Target Signal Count' в процессоре Wait. Рекомендуется использовать приоритизатор (например, First In First Out) при использовании отношения 'wait' как цикла.

Теги

map, cache, wait, hold, distributed, signal, release

Свойства

НазваниеОписание
Release Signal IdentifierЗначение, указывающее ключ к конкретному кэшу сигналов освобождения. Чтобы решить, следует ли отправлять FlowFile, обрабатываемый процессором ожидания, в отношение «успех» или «ожидание», процессор проверяет сигналы в кэше, указанном этим ключом. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Target Signal CountКоличество сигналов, которые должны находиться в кэше (указано идентификатором сигнала выпуска), чтобы файл FlowFile, обработанный процессором Wait, был отправлен в отношение «успех». Если количество сигналов в кэше достигло этого значения, файл FlowFile направляется в отношение «успех», а количество сигналов в кэше уменьшается на это значение. Если указано имя счётчика сигналов, этот процессор проверяет конкретный счётчик, в противном случае проверяет общее количество сигналов в кэше. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Signal Counter NameВ кэше (указанном идентификатором сигнала выпуска) сигналы могут принадлежать разным счётчикам. Если указано это свойство, процессор проверяет количество сигналов в кэше, которые принадлежат этому конкретному счётчику. Если свойство не указано, процессор проверяет общее количество сигналов в кэше. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Wait Buffer CountУкажите максимальное количество входящих файлов Flow, которые могут быть буферизованы для проверки возможности продвижения вперёд. Чем больше буферов, тем выше производительность, так как это сокращает количество взаимодействий со службой кэширования за счёт группировки файлов Flow по идентификатору сигнала. Только идентификатор сигнала может быть обработан при выполнении процессором.
Releasable FlowFile Countзначение или результат выполнения оператора языка выражений атрибутов, который будет применён к файлу Flow для определения количества освобождаемых файлов Flow. Это определяет, сколько файлов Flow может быть освобождено, когда целевое количество достигнет целевого количества сигналов. Ноль (0) имеет особое значение, любое количество FlowFiles может быть освобождено, если количество сигналов соответствует целевому значению. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Expiration DurationУказывает продолжительность, по истечении которой ожидающие FlowFiles будут перенаправлены в отношение «истекло»
Distributed Cache ServiceСлужба контроллера, которая используется для проверки наличия сигналов освобождения от соответствующего процессора Notify
Attribute Copy ModeУказывает, как обрабатывать атрибуты, скопированные из FlowFiles, поступающих в процессор Notify
Wait ModeУказывает, как обрабатывать FlowFile, ожидающий сигнала уведомления
Wait Penalty DurationЕсли настроено, то после обработки идентификатора сигнала, который не соответствует критериям выпуска, идентификатор сигнала штрафуется, и файлы Flow, содержащие идентификатор сигнала, не будут обрабатываться в течение указанного периода времени, чтобы идентификатор сигнала не блокировал обработку других файлов. Это может быть полезно в тех случаях, когда ожидается, что процессор Wait обработает несколько идентификаторов сигналов, и каждый идентификатор сигнала содержит несколько файлов Flow, а также когда важен порядок выпуска файлов Flow в рамках идентификатора сигнала. Порядок FlowFile можно настроить с помощью средств приоритезации. ВАЖНО: существует ограничение на количество сигналов, которые могут быть обработаны в очереди, и процессор ожидания может быть не в состоянии проверить все идентификаторы сигналов в очереди. Дополнительные сведения о рекомендациях см. в разделе «Дополнительные сведения».

Взаимосвязи

  • expired: Потоковый файл, срок действия которого превысил заданный, будет перенаправлен в это отношение
  • success: Потоковый файл с соответствующим сигналом освобождения в кэше будет перенаправлен в это отношение
  • wait: Потоковый файл без соответствующего сигнала освобождения в кэше будет перенаправлен в это отношение
  • failure: Когда доступ к кэшу невозможен или если идентификатор сигнала освобождения принимает значение null или пуст, потоковые файлы будут перенаправлены в это отношение