Freedom251 › Task Queue Software
Solid Queue

What Solid Queue is
Solid Queue is a free, open-source, self-hosted database-backed queuing backend for Active Job. It supports delayed, scheduled, and recurring jobs, queue pausing, concurrency controls, per-job numeric priorities, queue-order priorities, and bulk enqueuing. MySQL, PostgreSQL, and SQLite can store its queue; where available, FOR UPDATE SKIP LOCKED helps avoid lock waits while polling. It can run on a web server or separate servers and scale horizontally across machines. Workers use threads or fibers, while the supervisor runs workers and dispatchers in fork mode by default or async mode. Active Job supplies retries, discarding, error handling, serialization, and delay behavior. Mission Control Jobs is recommended for inspecting jobs and handling failures. Solid Queue requires Rails 7.1 or later and Ruby 3.2 or later, and is configured by default in new Rails 8 applications. The project uses the MIT License. A Puma plugin can run the supervisor beside Puma, but phased restarts are not supported by that plugin. Highest throughput is recommended with newer MySQL, MariaDB, or PostgreSQL versions.
Who it suits
It suits Rails developers running their own job infrastructure and needing scheduled work, retries, priorities, or horizontal scaling. Smaller applications can use SQLite, while higher throughput has documented database recommendations.
What it does well
- Supports delayed and recurring jobs
- Offers concurrency controls and priorities
- Runs across multiple machines
- Uses MySQL, PostgreSQL, or SQLite
- Open source under the MIT License
What to know first
- Requires Rails 7.1 or later
- Requires Ruby 3.2 or later
- Puma plugin lacks phased restarts
- Older databases can encounter lock waits
Verdict
Solid Queue provides a broad Active Job backend for self-hosted Rails deployments, including scheduling, prioritization, and scaling options. Database choice and version matter, particularly when multiple workers need higher throughput.
Facts from Solid Queue's own pages
- Active Job behavior
- Solid Queue relies on Active Job for retries, discarding, error handling, serialization, and delays. · github.com, 11 Oct 2026
- Active Job handling
- Solid Queue relies on Active Job for retries, discarding, error handling, serialization, and delays. · github.com, 5 Oct 2026
- Dashboard integration
- The README recommends Mission Control Jobs for viewing jobs and examining, retrying, or discarding failed jobs. · github.com, 11 Oct 2026
- Database support
- It can use MySQL, PostgreSQL, or SQLite as its SQL database. · github.com, 11 Oct 2026
- Execution modes
- Its supervisor runs in fork mode by default, with async mode available as an alternative. · github.com, 11 Oct 2026
- Job execution
- Workers can run jobs using threads or fibers, and the supervisor can run workers and dispatchers in fork or async mode. · github.com, 5 Oct 2026
- Job features
- It supports delayed and recurring jobs, concurrency controls, pausing queues, numeric job priorities, queue-order priorities, and bulk enqueuing. · github.com, 11 Oct 2026
- License
- The repository identifies its license as MIT. · github.com, 11 Oct 2026
- Performance requirement
- For highest throughput, the project recommends MySQL 8+, MariaDB 10.6+, or PostgreSQL 9.5+; SQLite is described as an option for smaller applications. · github.com, 11 Oct 2026
- Puma integration
- A Puma plugin can run the Solid Queue supervisor alongside Puma, but phased restarts are not currently supported by the plugin. · github.com, 5 Oct 2026
- Purpose
- Solid Queue is a database-based queuing backend for Active Job. · github.com, 11 Oct 2026
- Rails and Ruby requirements
- The minimum supported versions are Rails 7.1 and Ruby 3.2, and Solid Queue is configured by default in new Rails 8 applications. · github.com, 5 Oct 2026
- Rails support
- Solid Queue is configured by default in new Rails 8 applications and supports Rails 7.1 or later. · github.com, 11 Oct 2026
- Ruby requirement
- The documented minimum supported Ruby version is 3.2. · github.com, 11 Oct 2026
- Scaling
- It supports horizontal scaling, including running workers or dispatchers on multiple machines separate from the web server. · github.com, 11 Oct 2026
- Security
- The repository's Security page does not display security policy content while signed out. · github.com, 11 Oct 2026
- Throughput limitation
- For highest throughput, the project recommends MySQL 8+, MariaDB 10.6+, or PostgreSQL 9.5+; older versions can encounter lock waits with multiple workers on the same queue. · github.com, 5 Oct 2026
- Transactional behavior
- A separate queue database is the default because relying on transactional integrity between app data and jobs can cause behavior changes if the backend or database setup changes. · github.com, 5 Oct 2026
Where Solid Queue stands on Freedom251
- Task Queue Software#34 of 37