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. Sidekiq vs delayed_job

Sidekiq vs delayed_job

OverviewComparisonAlternatives

Overview

Sidekiq
Sidekiq
Stacks1.2K
Followers632
Votes408
delayed_job
delayed_job
Stacks53
Followers65
Votes6
GitHub Stars4.8K
Forks952

Sidekiq vs delayed_job: What are the differences?

Comparing Sidekiq and delayed_job

Both Sidekiq and delayed_job are popular background job processing libraries used in Ruby on Rails applications. While they have similarities in terms of being used for asynchronous job processing, there are several key differences between the two.

  1. Concurrency model: Sidekiq uses a multithreading approach to handle multiple jobs concurrently, which makes it more efficient and faster in processing jobs. On the other hand, delayed_job relies on a single worker process and is not as efficient in handling concurrent jobs.

  2. Job persistence: Sidekiq stores job data in Redis, a high-performance in-memory data store. It allows for job retriavel, prioritization, and rescheduling. delayed_job, however, stores job data in the application's database, which can impact performance and scalability.

  3. Error handling: Sidekiq provides a more robust error handling mechanism by allowing developers to define custom retry and error handling strategies. delayed_job has a simpler error handling mechanism that retries a failed job a fixed number of times before giving up.

  4. Middleware support: Sidekiq supports middleware functionality, which allows developers to inject custom logic before and after job execution. delayed_job does not have built-in middleware support, limiting the extensibility and customization options.

  5. Scalability: Sidekiq's multithreaded architecture makes it highly scalable, allowing it to handle a large number of concurrent jobs effectively. delayed_job, on the other hand, can struggle with scalability due to its single worker process approach.

  6. Community support and active development: Sidekiq has a larger and more active community compared to delayed_job. It has regular updates, bug fixes, and improvements, which ensures ongoing development and support. delayed_job, while still widely used, has a smaller community and fewer updates.

In summary, Sidekiq offers benefits like efficient concurrency model, job persistence in Redis, robust error handling, middleware support, scalability, and active community development. delayed_job, on the other hand, relies on a simpler single worker process model with database job storage.

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

Sidekiq
Sidekiq
delayed_job
delayed_job

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.

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.

Statistics
GitHub Stars
-
GitHub Stars
4.8K
GitHub Forks
-
GitHub Forks
952
Stacks
1.2K
Stacks
53
Followers
632
Followers
65
Votes
408
Votes
6
Pros & Cons
Pros
  • 124
    Simple
  • 99
    Efficient background processing
  • 60
    Scalability
  • 37
    Better then resque
  • 26
    Great documentation
Pros
  • 3
    Easy to get started
  • 2
    Reliable
  • 1
    Doesn't require Redis

What are some alternatives to Sidekiq, delayed_job?

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.

Resque

Resque

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.

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.

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.

Que

Que

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.

Goose

Goose

It is a simple, reliable & scalable background processing library for Clojure. It has a transparent design & cloud-native architecture.

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