ページ内ナビ
概要
RQ(Redis Queue)は、Pythonのfunction callをRedisまたはValkeyへqueueingし、独立したworker processでbackground jobとして実行するlibraryです。priority queue、retry、schedule、repeat、unique job、webhookなどを比較的小さなAPIで扱えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Python functionをqueueへ積み、workerでbackground実行する
Queue.enqueue()で通常のPython functionと引数をjobとしてRedis/Valkeyへ保存し、rq workerで独立したworkerが処理します。high/lowなど複数queueを並べてpriorityを付けることもできます。
出典:[2]
向いている用途
既存のRedisを使ってbackground処理を小さく始めたいPython backendに向く
mail送信、report生成、image処理などをrequest pathから切り離したいが、大規模なmessage broker構成は避けたい場合に向きます。既にRedis/Valkeyを運用しているserviceでは導入componentを増やさず始めやすい構成です。
出典:[2]
導入前の確認
参考にした公式資料
- [1]rq/rq — GitHub repository(2026-10-06)
- [2]RQ 2.12 — README(2026-10-06)
- [3]RQ 2.12 — pyproject.toml(2026-10-06)
- [4]RQ 2.12 release(2026-10-06)
- [5]RQ BSD-2-Clause license(2026-10-06)
編集部からの補足
既存Redisを活かしてbackground jobを小さく始めたい場合に扱いやすい選択肢です。一方でdefault serializerのpickleとworker isolationは安全性に直結するため、信頼境界とworker方式を先に決めてください。
3ステップで試す
- 1
RQ 2.12を導入する
確認対象の安定版を固定して導入します。Python 3.10以上と、信頼できるRedis 5+またはValkey 7.2+が必要です。
python -m pip install "rq==2.12" - 2
enqueueするjobを作る
外部HTTP accessを使わない最小functionとenqueue scriptを作ります。Redis/Valkeyはlocalhostで起動している前提です。
cat > tasks.py <<'PY' def add(x, y): return x + y PY cat > enqueue.py <<'PY' from redis import Redis from rq import Queue from tasks import add q = Queue(connection=Redis()) job = q.enqueue(add, 2, 3) print(job.id) PY - 3
workerを起動してjobを送る
workerを起動後、別端末からjobをenqueueし、worker logで実行完了を確認します。default serializerはpickleなので、信頼できるRedisだけを使ってください。
rq worker # 別端末で: python enqueue.py
成長
成長の推移 · 直近30日
10,693 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- async
- background-jobs
- delayed-jobs
- delayed-tasks
- job-queue
- python
- redis
- rq
- task
- task-queue
- workers
- Stars
- 10,693
- Forks
- 1,503
- Watchers
- 194
- Open Issues
- 261
- Contributors
- 316
- 所有者種別
- Organization
- 主要言語
- Python
- ライセンス
- BSD-2-Clause
- リポジトリ最終更新
- 2026/10/03
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Apache Airflow47,064 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
DAGをコードで定義し、データ・ML・AI処理を編成するworkflow基盤
Python - OpenTelemetry Python2,656 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
trace・metrics・logsを共通API/SDKで扱うPython向けOpenTelemetry実装
Python - Asynq13,748 Stars
共通タグ 2件 · 共通カテゴリ 1件
Redis-backed queueでbackground taskをretry・schedule・workerへ分散するGo library
Go - NATS Go Client6,770 Stars
共通タグ 2件 · 共通カテゴリ 1件
Core NATS Pub/SubとJetStream永続messagingを同じGo clientで扱う
Go - Dask13,932 Stars
共通タグ 2件 · 同じ言語
NumPy・pandasに近いcollectionとtask graphでparallel analyticsを拡張する
Python - TensorFlow200,710 Stars
共通タグ 2件
2.21.0でPython要件と周辺依存が変わった機械学習基盤
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。