On this page
Overview
Resque is a Redis-backed background-job library for Ruby. Classes or modules that implement perform can be queued and later executed by polling worker processes. It also includes a Sinatra web interface for inspecting queues, workers, and failures. The current version is 3.1.0.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Enqueue Ruby job classes into Redis and process them across multiple workers
A job class plus JSON-serializable arguments is stored in Redis, and worker processes can be assigned to specific queues across multiple machines. Queue-list order provides a simple priority model.
Sources: [2]
Track failures, worker state, and queue contents through hooks and the bundled web UI
Resque::Failure records failed jobs, while 3.1.0 adds unique failure IDs and always hooks that run after either success or failure. The bundled Sinatra UI exposes queue, worker, failure, and Redis state.
Best fit
Fits Ruby backends moving email, aggregation, webhooks, and slow I/O out of the request path
Resque is useful when web requests should return quickly while slower work runs in separate processes and when queue ownership and worker counts need to be tuned independently. Rails applications can use it through ActiveJob.
Sources: [2]
Before adoption
Resque 3.1.0 requires Ruby 3.2+ and Redis 4+; job arguments must remain JSON serializable
Version 3.1.0 requires Ruby 3.2 or newer and Redis server 4.0 or newer, with redis gem 4.0+ and Rack 2 or 3 supported. Because job payloads are stored as JSON, pass IDs and other serializable values instead of model instances. The polling worker model also makes queue latency, Redis availability, and retry/failure policy operational concerns.
Official sources
- [1]resque/resque — GitHub repository(2026-10-06)
- [2]Resque — README(2026-10-06)
- [3]Resque — version source(2026-10-06)
- [4]Resque — resque.gemspec(2026-10-06)
- [5]Resque — HISTORY(2026-10-06)
- [6]Resque — MIT License(2026-10-06)
Supplemental curator note
Resque fits Ruby backends that want worker and queue ownership separated at the process level. Job arguments are persisted as JSON, so pass IDs instead of model objects and include Redis failure, polling latency, and retry/failure policy in operations.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/resque/resque.git - 2
Enter the repository
cd resque - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
9,469 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 33
- Open PRs
- 1
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- queue
- background-jobs
- job-scheduler
- ruby
- job-queue
- asynchronous-tasks
- asynctask
- background-worker
- background-service
- job-management
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- BullMQ9,475 Stars
2 shared tag(s) · 2 shared category(s)
separate queues and workers to persist background jobs, retries, schedules, and flows for Node.js backends
TypeScript - Vagrant27,212 Stars
2 shared tag(s) · 1 shared category(s) · Same language
define portable development environments across providers with a Vagrantfile
Ruby - Kamal14,633 Stars
2 shared tag(s) · 1 shared category(s) · Same language
deploy Dockerized web apps to bare metal or cloud VMs over SSH and switch traffic with kamal-proxy for zero-downtime releases
Ruby - Fluentd13,598 Stars
2 shared tag(s) · Same language
Connect sources, filters, buffers, and outputs through plugins in one log and event-delivery pipeline
Ruby - Celery28,936 Stars
1 shared tag(s) · 2 shared category(s)
distribute Python background tasks across brokers and worker processes
Python - Jenkins26,621 Stars
1 shared tag(s) · 2 shared category(s)
Automate builds, tests, analysis, and deployment with jobs, pipelines, and a large Java plugin ecosystem
Java
Report incorrect information
Tell us if any listing information is incorrect or outdated.