hibiken/asynq

Simple, reliable, and efficient distributed task queue in Go

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 23 minutes ago
Added to GitGenius on September 4th, 2026
Created on November 15th, 2019
Open Issues & Pull Requests: 292 (+0)
GitHub issues: Enabled
Number of forks: 978
Total Stargazers: 13,682 (+0)
Total Subscribers: 84 (+0)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 19.4 days
90th percentile: 2.3 days
Tracked items: 127

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed. Three people close 65% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 87
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 728 days
Stale 30+ days: 86
Stale 90+ days: 73

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (48)
  • enhancement (48)
  • investigate (13)
  • question (8)
  • wontfix (5)
  • help wanted (3)
  • idea (3)
  • needs-more-info (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Asynq is a distributed task queue library for Go that uses Redis as its backing store to queue and process asynchronous work across multiple workers and machines.

The library solves the problem of distributing work reliably across a system by allowing clients to enqueue tasks that worker servers pull from Redis-backed queues and process concurrently using goroutines. It guarantees at least one execution of each task and automatically recovers tasks if a worker crashes. The approach is designed for horizontal scaling, supporting multiple worker servers and brokers to achieve high availability.

Asynq suits Go applications that need to offload background jobs or distribute work across machines. It works well for systems requiring task scheduling, retries, and concurrent processing. The tool offers weighted and strict priority queues, task deduplication, per-task timeouts and deadlines, and task aggregation for batching operations. It includes a web UI and CLI for queue inspection and remote control, integrates with Prometheus for metrics, and supports Redis Sentinels for failover. The README notes that some Lua scripts may not be compatible with Redis Cluster.

The project is in moderate development with a zero major version, meaning the public API could change before a stable release. The maintainers actively solicit feedback on APIs and encourage production users to sponsor the project.