Batchノードを使う(その2)
ここのところずっと Node-RED のサンプルを見ながら各ノードの使い方を確認しています。 頭出しの記事はこちら をご確認ください。今回はBatchノードの第2回目です。 確認するサンプルは、「 読み込み > サンプル > flows > node-red > sequence > batch > 02 - Time based group mode 」です。時間ベースでメッセージをグループ化できるみたいです。 時間ベースでメッセージをグループ化する ざっくりとした流れは以下のとおりです。 Functionノードがバラバラのメッセージを送信する Delayノードが流量制限を行い、1秒1メッセージ流すようにする Batchノードが指定した時間間隔ごとにグループ化(partsプロパティに自動生成した値を設定)する Joinノードが同じpartsプロパティの値ごとに1つのメッセージにまとめる 上流から順にノードの設定を見ていきます。入力データを生成するFunctionノードでは、0〜29の値をPayloadに持つメッセージを送信しています。ここは 前回の記事 と同じです。 続いて、Delayノードで流量制限を行います。 続いて、Batchノードで指定した時間間隔ごとにグループ化します。 続いて、Joinノードで複数メッセージをまとめます。動作が自動なので、partsプロパティの値ごとにまとめます。ここも 前回の記事 と同じです。 実行すると、以下のログが出力されます。画面キャプチャからは読み取れませんが、ログは約5秒毎に出力されます。流量制限したメッセージがグループ化されるのに時間がかかるんでしょうね。 まとめ まとめます。 複数メッセージを時間ベースでグループ化できます Batchノードシリーズはもう少し続きます。