30 open-source projects similar to rails/solid_queue, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Solid Queue alternative.
Delayed Job is a Ruby library that provides a database-backed system for asynchronous task processing. It enables the offloading of long-running or time-consuming operations to background workers by serializing method calls and their arguments into a relational database, ensuring that tasks persist across application restarts. The system functions as a distributed priority task scheduler, where independent worker processes continuously poll the database for pending jobs. By integrating task creation directly into application database transactions, it guarantees that jobs are only queued when
Queue Classic is a background processing framework for Ruby applications that manages asynchronous tasks by utilizing relational database tables for job persistence. By storing tasks directly within the database, the system ensures that job creation remains coupled with application transactions, guaranteeing that tasks are only queued when associated data changes are successfully committed. The framework coordinates concurrent worker processes through database-level locking mechanisms, which prevent redundant execution and allow for distributed task processing without the need for an external
Good Job is a background job processor for Ruby on Rails that utilizes a PostgreSQL database as its primary storage engine. By leveraging relational database transactions, it ensures persistent and reliable task execution, integrating directly with the Active Job framework to handle asynchronous operations and recurring job scheduling within existing application environments. The system distinguishes itself through an in-process execution model that allows background workers to run within the same process as the web server, simplifying deployment by removing the need for separate worker servi
Coravel is a .NET application framework library providing a set of tools for task scheduling, background job queuing, event broadcasting, caching, and email delivery. It enables developers to implement recurring background jobs using Cron expressions and a fluent code-based syntax, removing the need for external system schedulers. The library features a mail delivery system that uses mailable classes to compose, preview, and queue emails through various delivery drivers. It includes an event broadcaster to decouple application components by triggering events and managing multiple listeners, a
Oban is a relational database-backed job processor and task scheduler for Elixir applications. It functions as a distributed workflow orchestrator that leverages database primitives to ensure job persistence, reliability, and consistent state management across clusters. The system distinguishes itself through complex workflow orchestration, enabling the composition of task dependencies using batching, sequential processing, and fan-out or fan-in patterns. It provides global throughput limiting and uniqueness enforcement to prevent duplicate work and protect downstream resources across distrib
pg-boss is a background task scheduler and distributed task queue that uses PostgreSQL as a reliable message broker for asynchronous job processing. It provides a system for distributing work across multiple application instances, ensuring exactly-once delivery through atomic database transactions. The project includes a cron job scheduler for automating recurring tasks and a PostgreSQL pub-sub system for fan-out event distribution. It also features a web-based management dashboard for monitoring queue statistics and controlling job lifecycles, including manual retries and cancellations. Cap
River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks
Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers. The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful
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,
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
Camunda is a business process automation platform and orchestration tool used to model, deploy, and monitor automated workflows and human-centric tasks. It features a BPMN workflow engine for executing processes based on the BPMN 2.0 standard and a DMN decision engine for automating business logic and rule evaluation. The platform is designed for flexibility through an embedded workflow library that allows the engine to be integrated directly into custom applications. It supports multi-tenant workflow management, enabling the secure separation of process definitions and instance data for mult
Payload is a headless content management system and application framework that uses a code-first approach to define data schemas and administrative interfaces. By utilizing a centralized, type-safe configuration object, it automatically generates database schemas, API endpoints, and a fully customizable admin panel. The system is built on a database-agnostic architecture, allowing it to interface with various storage engines while providing a unified, type-safe API for server-side operations, REST, and GraphQL. What distinguishes Payload is its deep extensibility and developer-centric design.
Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor
This package provides a framework for receiving, verifying, and processing incoming webhooks within Laravel applications. It acts as a consumer for event streams, utilizing middleware to intercept HTTP requests, validate their authenticity through cryptographic signature verification, and route payloads to dedicated background jobs. The system distinguishes itself by offering granular control over multiple external service integrations, allowing developers to define unique configurations and endpoints for each provider. It ensures reliable operations by persisting raw request headers and payl
Figaro is a configuration manager for Ruby on Rails applications that loads key-value pairs from YAML files and injects them into environment variables. It functions as a configuration validator, raising errors during startup if mandatory configuration keys are missing from the environment to prevent runtime crashes. The project includes a command-line utility for synchronizing local environment settings to remote hosting platforms and production servers. This allows for the generation of remote configuration files based on local source data. The system supports environment-specific settings
Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j
Azkaban is a distributed workflow manager and DAG-based job orchestrator designed as an enterprise batch processor. It serves as a Java-based workflow engine that schedules and executes complex job sequences across a cluster of executor servers, with specific functionality for managing big data workloads on Hadoop clusters. The system distinguishes itself through a distributed executor model that coordinates state via a shared database to ensure high availability. It employs a plugin-based architecture that allows for custom job types and system functionality extensions, including the ability
dtm is a distributed transaction framework and polyglot transaction coordinator designed to maintain data consistency across microservices. It functions as a Saga orchestration engine and a two-phase message coordinator, ensuring that multi-service operations either succeed completely or roll back to a consistent state. The project distinguishes itself by supporting multiple consistency patterns, including Saga, TCC, XA, and outbox patterns, allowing users to select the appropriate model for their specific application requirements. It provides a polyglot integration layer via HTTP and gRPC, e
nq is a daemonless job orchestrator and POSIX shell task manager that manages asynchronous command execution on Unix systems. It functions as a command line job queue using directories and file-system locks to coordinate background processes across multiple terminal sessions. The system distinguishes itself by utilizing file-system-based locking to ensure sequential job execution without requiring a resident background daemon. It enables shared queue coordination, allowing different terminal sessions to synchronize work by directing tasks to specific directories. The project covers backgroun
CanCan is an authorization library for Ruby on Rails applications that provides a declarative framework for defining user permissions. It functions as a role-based access control system that decouples security logic from controllers by centralizing all ability definitions in a single location. The library distinguishes itself by translating permission rules into database-driven filters. This allows the system to retrieve only the specific records a user is permitted to see based on attribute conditions and defined scopes, rather than verifying permissions after data has been loaded. The fram
Annotate Models is a productivity utility for Ruby on Rails that maps database columns, types, and application routes directly into model and configuration files as source code comments. It functions as a schema annotator that inserts database and routing information into model files to provide a quick reference for data structures during development. The tool synchronizes model comments with database migrations to ensure that data structure references remain current. It also includes a route map injector that writes the current application routing table into configuration files as readable c
Webpacker is a frontend build tooling system and JavaScript module manager that integrates Webpack into Ruby on Rails applications. It serves as a bridge between the backend web framework and the frontend build process to compile JavaScript and CSS into browser-ready bundles. The system provides a dedicated development asset server for real-time code reloading and automatic browser refreshing. For production, it includes a precompilation pipeline that minifies scripts and stylesheets and applies network asset compression to optimize delivery. The project covers comprehensive asset management
Letter Opener is a development email sandbox and interceptor for Ruby on Rails. It functions as an SMTP mocking tool that captures outgoing emails and saves them to the local file system, preventing messages from being delivered to real addresses during the development cycle. The project provides a local email previewer with a web interface. This allows for the visual verification of email layouts, content, and headers directly in a browser. The tool manages intercepted communications through directory-based artifact management and integrates directly into the application mailing pipeline to
GoCD is a continuous delivery server and build automation platform designed to orchestrate software delivery pipelines. It functions as a CD pipeline orchestrator that manages the automated execution of build, test, and deployment stages to move code from commit to production. The system utilizes an agent-based job execution model where remote agents pull work from a central server via polling. It employs a state-machine approach to pipeline orchestration, tracking the progression of software through stages and managing immutable build outputs via a central artifact repository to ensure consi
This project is a self-hosted application performance monitoring tool designed for Ruby on Rails environments. It functions as a diagnostic platform that tracks request response times, database query efficiency, and background job performance to help identify bottlenecks within web application infrastructure. The tool distinguishes itself by integrating directly into the framework to provide real-time performance insights and developer-focused utilities, such as direct navigation from error reports to the corresponding lines in a code editor. It supports complex analysis by correlating perfor
Quartz.NET is a job scheduler for .NET applications designed to schedule and execute programmatic tasks. It functions as a distributed task orchestrator and enterprise task orchestrator, capable of managing recurring jobs with concurrency limits and complex intervals. The system provides high availability through a clustered execution model that balances loads and provides fail-over redundancy across multiple server instances. It utilizes a relational database job store to persist job and trigger states, ensuring that scheduled tasks survive application restarts. The framework includes capab
Chartkick is a Ruby on Rails visualization library and JavaScript charting wrapper that provides a high-level interface for integrating interactive charts into web applications. It functions as a multi-engine charting adapter, wrapping various JavaScript charting libraries to provide a consistent API for rendering data visualizations. The project is distinguished by its engine abstraction, which allows users to switch between different JavaScript charting libraries without modifying the underlying data sources. It also supports asynchronous data visualization, fetching chart data from remote
Konga is a web-based administration panel for managing Kong API Gateway entities, nodes, and configurations without requiring direct command-line or API calls. It provides a visual interface for configuring routes, services, plugins, and upstreams, and supports connecting to and switching between multiple distributed gateway instances from a single control plane. The panel includes role-based access control that regulates which administrators can view or modify gateway configurations through separate user accounts and permissions. It also offers polling-based health monitoring that periodical
Ditto is a Windows clipboard manager and extension that functions as a local history database. It records a sequence of copied text and images to prevent data loss when the clipboard is overwritten. The tool allows for the retrieval and re-insertion of previously copied items and text snippets into active application windows. It monitors the operating system for clipboard change events to automatically capture and store new data. The system utilizes a local database for persistence and indexing, enabling the storage of formatted text and binary image data across sessions.