Wait 2025.10.2.19

バンドル

org.apache.nifi | nifi-standard-nar

説明

Routes incoming FlowFiles to the 'wait' relationship until a matching release signal is stored in the distributed cache from a corresponding Notify processor. When a matching release signal is identified, a waiting FlowFile is routed to the 'success' relationship. The release signal entry is then removed from the cache. The attributes of the FlowFile that produced the release signal are copied to the waiting FlowFile if the Attribute Cache Regex property of the corresponding Notify processor is set properly. If there are multiple release signals in the cache identified by the Release Signal Identifier, and the Notify processor is configured to copy the FlowFile attributes to the cache, then the FlowFile passing the Wait processor receives the union of the attributes of the FlowFiles that produced the release signals in the cache (identified by Release Signal Identifier). Waiting FlowFiles will be routed to 'expired' if they exceed the Expiration Duration. If you need to wait for more than one signal, specify the desired number of signals via the 'Target Signal Count' property. This is particularly useful with processors that split a source FlowFile into multiple fragments, such as SplitText. In order to wait for all fragments to be processed, connect the 'original' relationship to a Wait processor, and the 'splits' relationship to a corresponding Notify processor. Configure the Notify and Wait processors to use the '${fragment.identifier}' as the value of 'Release Signal Identifier', and specify '${fragment.count}' as the value of 'Target Signal Count' in the Wait processor. It is recommended to use a prioritizer (for instance First In First Out) when using the 'wait' relationship as a loop.

タグ

キャッシュ、分散、ホールド、マッピング、リリース、信号、ウェイト

入力要件

REQUIRED

機密動的プロパティをサポート

false

プロパティ

プロパティ

説明

attribute-copy-mode

FlowFiles から Notify プロセッサーにコピーされた属性をどのように扱うかを指定

distributed-cache-service

対応するNotifyプロセッサーからのリリース信号をチェックするために使用されるController Service

expiration-duration

待機中の FlowFiles が「期限切れ」リレーションシップにルーティングされるまでの期間を示します

releasable-flowfile-count

リリース可能な FlowFile カウントを決定するために FlowFile に対して評価される値、または属性式言語ステートメントの結果。これは、ターゲットカウントがターゲット信号カウントに達したときに、いくつ FlowFiles をリリースできるか指定します。ゼロ(0)は特別な意味を持ち、信号カウントがターゲットと一致する限り、 FlowFiles は、いくつでもリリースできます。

release-signal-id

特定のリリース信号キャッシュのキーを指定する値。Waitプロセッサーが処理中の FlowFile を「success」関係と「wait」関係のどちらに送るべきかを決定するために、プロセッサーはこのキーで指定されたキャッシュ内の信号をチェックします。

signal-counter-name

キャッシュ内(リリース信号識別子で指定)では、信号は異なるカウンターに属することがあります。このプロパティが指定された場合、プロセッサーは、この特定のカウンターに属するキャッシュ内の信号の数をチェックします。指定されていない場合、プロセッサーはキャッシュ内の信号の総数をチェックします。

target-signal-count

Waitプロセッサーによって処理された FlowFile が「success」関係に送信されるためにキャッシュに存在する必要がある信号の数(リリース信号識別子によって指定)。キャッシュ内の信号数がこの値に達した場合、 FlowFile は「成功」関係にルーティングされ、キャッシュ内の信号数がこの値だけ減少します。Signal Counter Nameが指定されている場合、このプロセッサーは特定のカウンターをチェックします。

wait-buffer-count

前進できるかどうかをチェックするためにバッファリングできる受信 FlowFiles の最大数を指定します。FlowFiles を信号識別子でグループ化することで、キャッシュサービスとのやりとりの回数を減らすことができるため、バッファが多いほどパフォーマンスが向上します。プロセッサー実行時に処理できるのは信号識別子のみです。

wait-mode

通知信号を待つ FlowFile の処理方法を指定します。

wait-penalty-duration

構成された場合、信号識別子が処理されたがリリース基準を満たさなかった後、その信号識別子はペナルティを受け、指定された期間、その信号識別子を持つ FlowFiles が再び処理されることはなく、信号識別子は処理される他のものをブロックしません。これは、Waitプロセッサーが複数の信号識別子を処理することが期待され、各信号識別子が複数の FlowFiles を持ち、また信号識別子内で FlowFiles リリースの順序が重要であるようなユースケースで有用です。FlowFile 順序は、Prioritizersで構成できます。IMPORTANT: キューに入れられる信号の数には制限があり、Waitプロセッサーはキューに入れられた全ての信号IDをチェックすることができない場合があります。ベストプラクティスの詳細はこちらをご参照ください。

リレーションシップ

名前

説明

expired

構成された有効期限を超えた FlowFile は、このリレーションシップにルーティングされます。

failure

キャッシュに到達できない場合、またはリリースシグナル識別子がNULLまたは空と評価された場合、 FlowFiles は、このリレーションシップにルーティングされます。

success

キャッシュ内のリリース信号が一致する FlowFile は、この関係にルーティングされます。

wait

キャッシュに一致するリリース信号がない FlowFile は、この関係にルーティングされます。

属性の書き込み

名前

説明

wait.start.timestamp

すべての FlowFiles は、属性'wait.start.timestamp'を持ちます。これは、ファイルが最初にこのプロセッサに入ったときの最初のエポックタイムスタンプをセットします。これは、 FlowFile の有効期限を決定するために使用されます。この属性は、 FlowFile が、失敗、期限切れ、成功に転送されたときには書き込まれません。

wait.counter.<counterName>

前回キャッシュが空になったときから、少なくとも1つの信号がキャッシュに存在する各カウンターの名前が、属性として現在の FlowFile にコピーされます。

こちらもご覧ください