OSS探訪GitHubでログイン

QueueとWorkerを分離し、Node.jsのbackground job・retry・schedule・flowを永続化する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
9,475
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

BullMQはNode.js向けのmessage queue / background job libraryです。Queueへjobを投入し、Workerで非同期処理を実行する構成を取り、delay、retry、priority、rate limit、repeatable job、parent-child flowなどを扱えます。v6ではRedisに加えてPostgreSQL adapterもコードベースへ組み込まれています。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Queueへjobを投入しWorkerで非同期に処理する

Queueでjobを登録し、Workerでprocess functionを実行し、QueueEventsでcompleted/failed等のglobal eventを購読できます。web requestから重い処理を分離するbackground job基盤として利用できます。

出典:[1]

delay・priority・retry・rate limit・parent-child flowを組み合わせる

BullMQはdelayed job、priority、concurrency、repeatable job、rate limiting、deduplication、pause/resume、sandboxed worker、parent/child dependency等を提供し、FlowProducerでjob treeも構築できます。

出典:[1]

向いている用途

Next.js APIからmail・画像処理・外部API連携等をrequest lifecycle外へ逃がす用途に向く

HTTP response内で完了させる必要がない処理をQueueへ渡し、別Workerで実行する構成に適します。複数process/instanceでjob stateを共有し、retryや再実行を管理したいbackendで特に有効です。

出典:[1]

導入前の確認

backend adapterとconnection運用をapplicationとは別に設計する

v6.3.11のpackage metadataではioredis、node-redis、pg等をoptional peer dependencyとして扱います。RedisまたはPostgreSQLの可用性、connection、backup、latencyがqueue処理へ直接影響するため、job codeとは別に運用設計が必要です。

出典:[2]

idempotency・retry回数・stalled job・telemetryを運用要件として検証する

worker再起動やnetwork failure時には同じjobが再実行され得るため、side effectを持つjobはidempotentに設計する必要があります。v6.3.11はstalled checkerをtelemetry contextから切り離してtrace leakを防ぐ修正を含みます。

出典:[3][1]

参考にした公式資料

  1. [1]BullMQ v6.3.11 README(2026-10-06)
  2. [2]BullMQ v6.3.11 package metadata(2026-10-06)
  3. [3]BullMQ v6.3.11 release(2026-10-06)
編集部からの補足

Next.js等のrequest lifecycleから重い処理を切り離したいbackendに向きます。backend adapter、connection、job idempotency、retry/stalled処理、worker運用をproduction前に検証してください。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/taskforcesh/bullmq.git
  2. 2

    リポジトリへ移動

    cd bullmq
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

9,475 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
132
Open PR
121

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • background-jobs
  • nodejs
  • queue
  • redis
  • typescript
  • python
  • elixir
  • php
  • rust
Stars
9,475
Forks
705
Watchers
41
Open Issues
272
Contributors
206
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
BullMQとは?Node.js向けbackground job・message queue | OSS探訪