StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. Background Jobs
  4. Background Processing
  5. Que vs Resque vs Sidekiq

Que vs Resque vs Sidekiq

OverviewComparisonAlternatives

Overview

Resque
Resque
Stacks118
Followers126
Votes9
GitHub Stars9.5K
Forks1.7K
Sidekiq
Sidekiq
Stacks1.2K
Followers632
Votes408
Que
Que
Stacks16
Followers20
Votes0

Que vs Resque vs Sidekiq: What are the differences?

Introduction

In the world of web development, it is common to encounter scenarios where background jobs need to be executed asynchronously. This is where job queuing systems come into play, facilitating the scheduling and execution of tasks beyond the typical request-response cycle. Three popular options for job queuing in Ruby on Rails applications are Que, Resque, and Sidekiq. This article highlights the key differences between these three tools, outlining their unique features and functionalities.

  1. Scalability and Concurrency: While Que and Resque are based on a single-threaded model where a single worker processes jobs sequentially, Sidekiq stands out by utilizing multi-threading to concurrently perform jobs. The availability of multiple threads allows Sidekiq to achieve higher scalability and handle larger workloads more efficiently.

  2. Redis Dependency: Que is designed to work with PostgreSQL as its underlying storage and uses advisory locks to ensure data integrity. Resque, on the other hand, relies on Redis as a message broker and storage system. Sidekiq, similar to Resque, also leverages Redis as its backend to store job information and manage communication between workers.

  3. Active Job Compatibility: Que is built as an extension of Active Record, making it tightly integrated with Rails and its Active Job framework. It leverages familiar ActiveRecord patterns and allows developers to define job methods as plain Ruby objects within the application codebase. Resque, although not originally part of the Active Job ecosystem, has been retrofitted to support it. Sidekiq, being one of the earliest job queuing systems, introduced Active Job compatibility from the beginning, allowing seamless integration with any Rails application.

  4. Middleware Support: Sidekiq differentiates itself by providing an extensive middleware system that allows customization and interception of job execution. Middleware can be utilized to add additional functionality, modify job behavior, or even perform actions before and after job processing. Resque provides middleware support as well, but Que lacks this feature.

  5. User Interface and Monitoring: Sidekiq takes the lead when it comes to monitoring and introspection capabilities. It offers a web-based dashboard that provides real-time insights about the state of workers, jobs, and even allows retrying failed jobs. Resque also offers a web-based UI, albeit with fewer features, while Que does not have a dedicated user interface.

  6. Community and Ecosystem: Sidekiq has established a large and active community with comprehensive documentation, as well as numerous extensions and plugins contributed by the community. Resque has a smaller but still vibrant community, and Que, being a comparatively newer contender in the job queuing arena, has a relatively smaller ecosystem.

In summary, Que, Resque, and Sidekiq are all capable job queuing systems with their distinct features and approaches. Sidekiq's multi-threaded architecture, Active Job compatibility, middleware support, and comprehensive monitoring make it stand out as a popular choice for many developers. However, Resque and Que also offer simplicity, compatibility with Rails, and a solid foundation for handling background job processing in different scenarios.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Resque
Resque
Sidekiq
Sidekiq
Que
Que

Background jobs can be any Ruby class or module that responds to perform. Your existing classes can easily be converted to background jobs or you can create new classes specifically to do work. Or, you can do both.

Sidekiq uses threads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with Rails 3/4 to make background processing dead simple.

Que is a high-performance alternative to DelayedJob or QueueClassic that improves the reliability of your application by protecting your jobs with the same ACID guarantees as the rest of your data.

--
Concurrency; Efficiency; Safety;Transactional Control;Atomic Backups;Fewer Dependencies; Security
Statistics
GitHub Stars
9.5K
GitHub Stars
-
GitHub Stars
-
GitHub Forks
1.7K
GitHub Forks
-
GitHub Forks
-
Stacks
118
Stacks
1.2K
Stacks
16
Followers
126
Followers
632
Followers
20
Votes
9
Votes
408
Votes
0
Pros & Cons
Pros
  • 5
    Free
  • 3
    Scalable
  • 1
    Easy to use on heroku
Pros
  • 124
    Simple
  • 99
    Efficient background processing
  • 60
    Scalability
  • 37
    Better then resque
  • 26
    Great documentation
No community feedback yet

What are some alternatives to Resque, Sidekiq, Que?

Beanstalkd

Beanstalkd

Beanstalks's interface is generic, but was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.

Hangfire

Hangfire

It is an open-source framework that helps you to create, process and manage your background jobs, i.e. operations you don't want to put in your request processing pipeline. It supports all kind of background tasks – short-running and long-running, CPU intensive and I/O intensive, one shot and recurrent.

delayed_job

delayed_job

Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.

Faktory

Faktory

Redis -> Sidekiq == Faktory -> Faktory. Faktory is a server daemon which provides a simple API to produce and consume background jobs. Jobs are a small JSON hash with a few mandatory keys.

Kue

Kue

Kue is a feature rich priority job queue for node.js backed by redis. A key feature of Kue is its clean user-interface for viewing and managing queued, active, failed, and completed jobs.

Bull

Bull

The fastest, most reliable, Redis-based queue for Node. Carefully written for rock solid stability and atomicity.

Bulk Writer GPT

Bulk Writer GPT

Create unlimited articles in one go by uploading a CSV of keywords. The system handles queue management, real-time progress tracking, automatic retries for failed articles, and multi-format exports—making large-scale content creation fast, stable, and hands-free.

Cron

Cron

Background-only application which launches and runs other applications, or opens documents, at specified dates and times.

PHP-FPM

PHP-FPM

It is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. It includes Adaptive process spawning, Advanced process management with graceful stop/start, Emergency restart in case of accidental opcode cache destruction etc.

runit

runit

It is a cross-platform Unix init scheme with service supervision, a replacement for sysvinit, and other init schemes. It runs on GNU/Linux, *BSD, MacOSX, Solaris, and can easily be adapted to other Unix operating systems.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase