bullmq
v5.33.1
Dragonfly は、BullMQ と完全に互換性のある新しい Redis™ ドロップイン代替品であり、利用可能なすべての CPU コアを利用することによる大幅なパフォーマンスの向上や、より高速でメモリ効率の高いデータ構造など、Redis™ に比べていくつかの重要な利点をもたらします。 BullMQ での使用方法の詳細については、こちらをお読みください。 |
BullMQ を使用しているいくつかの注目すべき組織:
インストール:
$ yarn add bullmq
ジョブをキューに追加します。
import { キュー } from 'bullmq';const queue = new Queue('Paint');queue.add('cars', { color: 'blue' });
ワーカーでジョブを処理します。
import { Worker } from 'bullmq';const worker = new Worker('Paint', async job => { if (job.name === 'cars') {await printCar(job.data.color); }});
完了するジョブをリッスンします。
import { QueueEvents } from 'bullmq';const queueEvents = new QueueEvents('Paint');queueEvents.on('completed', ({ jobId }) => { console.log('ペイント完了');});queueEvents.on( '失敗した'、 ({ jobId, failedReason }: { jobId: string; failedReason: string }) => {console.error('エラーペイント', failedReason); },);
これはほんの表面をなぞっただけです。すべての機能などについては公式ドキュメントで確認してください。
ジョブ キュー ソリューションはいくつかあるので、それらを比較した表を次に示します。
特徴 | BullMQ-プロ | ブルMQ | ブル | クエ | 蜂 | 議題 |
---|---|---|---|---|---|---|
バックエンド | レディス | レディス | レディス | レディス | レディス | モンゴ |
観測可能なもの | ✓ | |||||
グループレート制限 | ✓ | |||||
グループサポート | ✓ | |||||
バッチのサポート | ✓ | |||||
親/子の依存関係 | ✓ | ✓ | ||||
デバウンス | ✓ | ✓ | ✓ | |||
優先事項 | ✓ | ✓ | ✓ | ✓ | ✓ | |
同時実行性 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
遅延したジョブ | ✓ | ✓ | ✓ | ✓ | ✓ | |
世界的なイベント | ✓ | ✓ | ✓ | ✓ | ||
レートリミッター | ✓ | ✓ | ✓ | |||
一時停止/再開 | ✓ | ✓ | ✓ | ✓ | ||
サンドボックス化されたワーカー | ✓ | ✓ | ✓ | |||
反復可能なジョブ | ✓ | ✓ | ✓ | ✓ | ||
原子作戦 | ✓ | ✓ | ✓ | ✓ | ||
持続性 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
UI | ✓ | ✓ | ✓ | ✓ | ✓ | |
に最適化 | ジョブ/メッセージ | ジョブ/メッセージ | ジョブ/メッセージ | 求人 | メッセージ | 求人 |
リポジトリをフォークし、いくつかの変更を加え、プルリクエストを送信してください。詳細については、こちらの寄稿ドキュメントをご覧ください。
このライブラリを可能にしたすべての貢献者に感謝します。また、npm bullmq リポジトリを親切に寄贈してくれた Leon van Kammen にも特別に言及します。