Wait 2025.10.2.19

バンドル

org.apache.nifi | nifi-standard-nar

説明

対応するNotifyプロセッサーから分散キャッシュに、一致するリリース信号が格納されるまで、受信 FlowFiles を「wait」リレーションシップにルーティングします。一致するリリース信号が特定されると、待機中の FlowFile は「success」リレーションシップにルーティングされます。その後、リリース信号のエントリーはキャッシュから削除されます。対応するNotifyプロセッサーのAttribute Cache Regexプロパティが適切に設定されていれば、リリース信号を生成した FlowFile の属性は待機中の FlowFile にコピーされます。リリース信号識別子によって識別されるキャッシュ内に複数のリリース信号があり、Notifyプロセッサーが FlowFile の属性をキャッシュにコピーするように構成されている場合、Wait プロセッサーを通過する FlowFile は、(リリース信号識別子によって識別される)キャッシュでリリース信号を生成した FlowFiles の属性の和を受信します。待機中の FlowFiles は有効期限を超えると「expired」にルーティングされます。複数のシグナルを待つ必要がある場合は、「Target Signal Count」プロパティで希望のシグナル数を指定します。これは、 SplitText のように、ソース FlowFile を複数のフラグメントに分割するプロセッサーで特に役に立ちます。すべてのフラグメントが処理されるのを待つには、「original」リレーションシップをWaitプロセッサーに接続し、「splits」リレーションシップを対応するNotifyプロセッサーに接続します。NotifyプロセッサーとWaitプロセッサーを構成し、「Release Signal Identifier」の値として「${fragment.identifier}」を使用し、Waitプロセッサーの「Target Signal Count」の値として「${fragment.count}」を指定します。「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 にコピーされます。

こちらもご覧ください