awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mperham avatar

mperham/sidekiq

0
View on GitHub↗
13,536 stars·2,482 forks·Ruby·21 viewssidekiq.org↗

Sidekiq

Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed background job processor that offloads heavy or time-consuming work from web requests to separate worker processes to ensure the main application remains responsive.

The system operates as a Redis task queue, storing pending jobs in Redis to be processed concurrently by multiple threads. It provides a framework for distributed task queueing and asynchronous job scheduling to coordinate work across multiple server instances.

The project covers Ruby application scaling by executing background jobs on separate threads, allowing the application to handle multiple concurrent operations without blocking the main process.

Features

  • Redis-Backed Queues - Provides a distributed task queue that uses Redis as the primary persistent storage and message broker.
  • Background Task Runners - Acts as a background task runner that monitors and executes non-blocking operations.
  • Background Job Processing - Offloads heavy computational tasks to background threads to ensure the main application remains responsive.
  • Ruby Frameworks - Provides a comprehensive framework for offloading time-consuming work from Ruby web requests to separate workers.
  • Job Scheduling - Manages the timing and execution of background tasks through a reliable asynchronous scheduling system.
  • Multi-threaded Execution - Executes multiple concurrent background jobs using a multi-threaded worker model to maximize resource efficiency.
  • Background Processing - Provides a system for executing compute-intensive Ruby tasks asynchronously to maintain application responsiveness.
  • Distributed Task Queues - Coordinates and distributes background jobs across multiple server instances for high reliability and scalability.
  • Background Job Processors - Offloads heavy operations to asynchronous Redis queues to maintain high application responsiveness.
  • Polling-Based Worker Execution - Implements a polling mechanism using blocking Redis pops to efficiently fetch and process pending tasks.
  • Priority-based Sorted Sets - Uses Redis sorted sets to schedule future jobs and manage time-sensitive task execution.
  • Application Scaling Strategies - Improves Ruby web application throughput by offloading heavy workloads to separate background worker processes.
  • Job Enqueueing Serialization - Serializes Ruby job arguments into JSON strings for reliable storage and cross-process retrieval from Redis.
  • Background Jobs - Efficient background processing for Ruby.
  • Sustainable Project Examples - Provides pro and enterprise add-ons alongside a free hobbyist tier.

Star history

Star history chart for mperham/sidekiqStar history chart for mperham/sidekiq

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Sidekiq

These projects share indexed features with Sidekiq. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • taskforcesh/bullmqtaskforcesh avatar

    taskforcesh/bullmq

    8,432View on GitHub↗

    BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic

    TypeScriptbackground-jobselixirnodejs
    View on GitHub↗8,432
  • optimalbits/bullOptimalBits avatar

    OptimalBits/bull

    16,243View on GitHub↗

    Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran

    JavaScriptjobjob-queuemessage
    View on GitHub↗16,243
  • bee-queue/bee-queuebee-queue avatar

    bee-queue/bee-queue

    4,032View on GitHub↗

    Bee-queue is a Node.js background processing system that uses Redis for job queueing and persistence. It is designed to offload heavy tasks from the main execution thread to background workers to maintain application responsiveness. The project provides distributed job processing, allowing worker nodes to run across multiple processes to handle large volumes of tasks concurrently. It ensures reliable task execution through automatic retries and the recovery of stalled processes. Its capability surface covers asynchronous task scheduling for delayed jobs, concurrency control for worker nodes,

    JavaScriptbee-queuejob-queuejob-scheduler
    View on GitHub↗4,032
  • rq/rqrq avatar

    rq/rq

    10,653View on GitHub↗

    rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m

    Pythonasyncbackground-jobsdelayed-jobs
    View on GitHub↗10,653
Compare all 30 related projects→

Frequently asked questions

What does mperham/sidekiq do?

Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed background job processor that offloads heavy or time-consuming work from web requests to separate worker processes to ensure the main application remains responsive.

What are the main features of mperham/sidekiq?

The main features of mperham/sidekiq are: Redis-Backed Queues, Background Task Runners, Background Job Processing, Ruby Frameworks, Job Scheduling, Multi-threaded Execution, Background Processing, Distributed Task Queues.

Which projects share features with mperham/sidekiq?

Projects with overlapping indexed features include: taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… bee-queue/bee-queue — Bee-queue is a Node.js background processing system that uses Redis for job queueing and persistence. It is designed… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… resque/resque — Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as… hangfireio/hangfire — Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job…