ページ内ナビ
概要
AsynqはGo向けのdistributed task queue libraryです。ClientがRedis-backed queueへtaskをenqueueし、Serverがworker goroutineで処理します。retry、schedule、priority、timeout/deadline、deduplication、periodic task、Sentinel、metrics等を提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Client/Server modelでtask enqueueとworker処理を分離する
producer側はClientからtask type・payload・optionをqueueへ投入し、worker側はServerとHandlerでtaskを並列処理できます。複数worker serverへ分散してhorizontal scaleできます。
出典:[2]
retry・schedule・priority・deduplication・timeoutをqueue policyとして設定する
失敗taskのretry、scheduled/periodic task、weighted/strict priority、unique optionによるdeduplication、task単位のtimeout/deadline、group aggregation等を利用できます。
出典:[2]
向いている用途
email・image処理・外部API連携などrequest path外のbackground jobに向く
HTTP requestから重い処理を切り離し、Redisをbrokerとして複数workerへ配布したいGo backendやbatch-oriented serviceに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]hibiken/asynq — GitHub repository(2026-10-06)
- [2]Asynq v0.26.0 — README(2026-10-06)
- [3]Asynq v0.26.0 — go.mod(2026-10-06)
- [4]Asynq v0.26.0 release(2026-10-06)
- [5]Asynq MIT license(2026-10-06)
編集部からの補足
background jobをRedis-backed queueへ分離し、retry・schedule・priority・worker concurrencyをまとめて扱えます。deliveryはat-least-onceなので、handlerはduplicate実行を前提にidempotentへ設計する必要があります。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/hibiken/asynq.git - 2
リポジトリへ移動
cd asynq - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
13,748 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 73
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- RQ10,693 Stars
共通タグ 2件 · 共通カテゴリ 1件
Redis・Valkeyを使ってPythonのbackground jobをqueueとworkerへ分離する軽量task queue
Python - Dramatiq5,326 Stars
共通タグ 2件 · 共通カテゴリ 1件
actorとworkerでPythonのbackground taskをRabbitMQ・Redisへ分離するtask processor
Python - Go139,267 Stars
共通タグ 2件 · 同じ言語
goroutine・channel・module・標準toolchainでserver/CLIを単一binaryへbuildするprogramming language
Go - gRPC-Go23,092 Stars
共通タグ 2件 · 同じ言語
Protocol BuffersとHTTP/2でGo service間のtyped RPCを実装するgRPC runtime
Go - Sarama12,523 Stars
共通タグ 2件 · 同じ言語
Producer・Consumer Group・Admin・Transactionを幅広く扱うGo Kafka client
Go - kafka-go8,638 Stars
共通タグ 2件 · 同じ言語
Reader・Writerと低level Connを使い分けるpure Go Kafka client
Go
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。