ジョブキュー は、時間のかかる処理を あとで実行する仕事 としていったん積み、別のワーカーが順番に処理する仕組みです。ユーザーの画面応答と、重い裏処理を分けたいときによく使われます。
まず押さえたいポイント
- 重い処理を Web リクエスト本体から切り離す仕組み
- 仕事を積む場所、実行するジョブ、処理するワーカーに分かれる
- メール送信、通知、画像変換、レポート生成、外部 API 連携でよく使われる
- Redis や Amazon SQS などは保存先候補であって、ジョブキューそのものではない
- 失敗時の再試行や重複実行対策まで考えて運用する
どんな場面で使うか
ジョブキューは、ユーザーがボタンを押した瞬間に終わらせなくてもよい処理で向いています。たとえば、会員登録後の確認メール、画像アップロード後のサムネイル生成、大量通知の送信、CSV エクスポート、外部サービスへの同期などです。
こうした処理をその場で全部やると、画面の応答が遅くなりやすいです。ジョブキューを使うと、画面には先に 受付完了 を返し、裏でワーカーが処理を進められます。
よくある誤解
ジョブキューは Redis のこと ではありません。Redis は保存先としてよく使われますが、Amazon SQS やデータベースを使う構成もあります。つまり、ジョブキューは考え方や仕組みであって、Redis はその一部候補です。
また、キューに積んだ時点で処理完了と思うのも誤解です。実際にはワーカーが取り出して成功するまで終わっていません。失敗したときの再試行や失敗ジョブ管理も含めて運用する前提です。
注意点
ジョブキューを入れると前のレスポンスは軽くなりますが、処理そのものが消えるわけではありません。ワーカー監視、再試行、失敗時の扱い、二重実行への備えなど、運用の責任は増えます。
考え方を詳しく知りたい場合は、ジョブキューとは?重い処理を後ろに回す理由 で整理しています。