BullMQはRedisを使うNode.js向けのジョブキューです。適しているかは、HTTPレスポンスの後で完了してよく、追跡や再試行が必要な仕事から考えます。
大きなレポートを例にします。リクエストの中で生成すると、ユーザーはタイムアウトまで待たされるかもしれません。キューなら処理を受け付け、ジョブIDを返し、別途実行できます。
1. キューに移すと何が変わるかを見る
[User] -> [API: submit job] -> [Redis / BullMQ] -> [Worker]
| |
[Return job ID] [Saved report]
プロデューサーがジョブを送り、ワーカーが実行します。ユーザーは進捗を確認し、完成したら保存済みレポートをダウンロードします。
