Wait 2025.5.31.15

バンドル

org.apache.nifi | nifi-standard-nar

説明

対応するNotifyプロセッサーからのリリース信号が分散キャッシュに格納されるまで、入ってくる FlowFiles を「wait」関係にルーティングします。一致するリリース信号が識別子されると、待機中の FlowFile が「成功」関係にルーティングされます。その後、リリース信号のエントリーはキャッシュから削除されます。対応するNotifyプロセッサーのAttribute Cache Regexプロパティが適切にセットされている場合、リリース信号を生成した FlowFile の属性は、待機中の FlowFile にコピーされます。リリース信号識別子によって識別されるキャッシュ内に複数のリリース信号があり、Notifyプロセッサーが FlowFile 属性をキャッシュにコピーするように構成されている場合、Waitプロセッサーを通過する FlowFile、キャッシュ内のリリース信号を生成した FlowFiles (リリース信号識別子によって識別される)の属性の和を受信します。待機中の FlowFiles は、有効期限を超えると「期限切れ」にルーティングされます。複数の信号を待つ必要がある場合は、「ターゲット信号数」プロパティで必要な信号数を指定します。これは、 SplitText のように、ソース FlowFile を複数のフラグメントに分割するプロセッサーで特に有用です。すべてのフラグメントが処理されるのを待つには、 'original' リレーションシップを Wait プロセッサーに接続し、 'splits' リレーションシップを対応する Notify プロセッサーに接続します。Notify プロセッサーと Wait プロセッサーを構成して、'${fragment.identifier}' を 'リリース信号識別子' の値として使用し、'${fragment.count}' を Wait プロセッサーの 'ターゲット信号数' の値として指定します。'wait' 関係をループとして使用する場合は、優先順位付け機能(例えば、First In First Out)を使用することを推奨します。

タグ

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

入力要件

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 にコピーされます。

こちらもご覧ください