【Node.js24.x】CountQueuingStrategy::CountQueuingStrategy()関数の使い方
CountQueuingStrategy関数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CountQueuingStrategy関数は、Web標準のStreams APIにおいて、ストリームの内部キューに格納できるデータの数を管理するための戦略を提供する関数です。主に、WritableStreamやReadableStreamといったストリーム操作でバックプレッシャーを制御する目的で使用されます。
この関数は、コンストラクタとしてCountQueuingStrategy(highWaterMark)のように呼び出され、引数としてhighWaterMarkという数値を受け取ります。highWaterMarkは、ストリームの内部キューに格納できるチャンク(データ片)の最大数を指定します。例えば、highWaterMarkが5に設定された場合、キューには最大で5つのチャンクが保持されます。
ストリームは、内部キューに格納されているチャンクの数がこのhighWaterMarkの値に達すると、プロデューサー側に対してデータの供給を一時停止するよう信号を送ります。これにより、プロデューサーがコンシューマーの処理能力を超えてデータを生成し続けることを防ぎ、システム全体のメモリ使用量を適切に保ちながら、安定したデータフローを維持します。
この戦略を用いることで、データが急速に生成される環境でも、コンシューマーがデータを処理しきれずにメモリが枯渇するような事態を防ぎ、効率的で堅牢なデータ処理パイプラインを構築することができます。特に、大量のデータを扱う際に、リソースの過剰な消費を防ぐ上で重要な役割を果たす関数です。
構文(syntax)
1const strategy = new CountQueuingStrategy({ highWaterMark: 10 });
引数(parameters)
options
- options: object: enqueue() メソッドでキューに入れられるタスクの総数を制限するためのオプションを設定します。max(number): キューに入れられるタスクの最大数を指定します。
戻り値(return)
CountQueuingStrategy
CountQueuingStrategy コンストラクタは、指定された最大キューサイズを持つ CountQueuingStrategy オブジェクトを生成します。