sqdash: Solid Queue Terminal Dashboard
A terminal dashboard for Rails 8's Solid Queue.
Solid Queue is the default Active Job backend in Rails 8, but it ships with no built-in UI. sqdash gives you a fast, keyboard-driven TUI to monitor and manage jobs without leaving your terminal — no browser, no extra server, no mounted routes.
Features
- Live overview of all Solid Queue jobs with status, queue, and timestamps
- Paginated loading — handles 100k+ jobs without slowing down
- View filters: all, failed, completed, pending
- Sortable by created date or ID, ascending or descending
- Fuzzy text filter across job class, queue name, and ID
- Retry or discard failed jobs with a single keypress
- k9s-style
:command bar with Tab autocomplete -
/search with inline autocomplete hints - Job detail view with arguments, timestamps, and error backtraces
Installation
gem install sqdashOr add it to your Gemfile:
bundle add sqdashPrerequisites
sqdash connects directly to your Solid Queue database. You need:
- A database with the Solid Queue schema (
solid_queue_*tables) — PostgreSQL, MySQL, or SQLite - Ruby >= 3.2
- The database adapter gem for your database:
gem install pg # PostgreSQL
gem install mysql2 # MySQL
gem install sqlite3 # SQLiteUsage
sqdash --help # Show usage and keybindings
sqdash --version # Show version# PostgreSQL
sqdash postgres://user:pass@localhost:5432/myapp_queue
# MySQL
sqdash mysql2://user:pass@localhost:3306/myapp_queue
# SQLite
sqdash sqlite3:///path/to/queue.db
# Or set the DATABASE_URL environment variable
export DATABASE_URL=postgres://user:pass@localhost:5432/myapp_queue
sqdash
# Use a specific config file
sqdash --config /path/to/config.yml
# Falls back to default: postgres://sqd:sqd@localhost:5432/sqd_web_development_queue
sqdashConnection priority: CLI argument > DATABASE_URL env var > .sqdash.yml > ~/.sqdash.yml > built-in default.
Config file
Instead of passing a database URL every time, create a .sqdash.yml file in your project directory or home directory:
# .sqdash.yml or ~/.sqdash.yml
database_url: postgres://user:pass@localhost:5432/myapp_queueA project-local .sqdash.yml takes precedence over ~/.sqdash.yml. You can also specify a config file explicitly with --config / -c.
How to use
Once connected, sqdash shows a live dashboard of all your Solid Queue jobs. Here are common workflows:
Quick start
# Connect to your Rails app's queue database
sqdash postgres://user:pass@localhost:5432/myapp_development
# Or if you have a .sqdash.yml config file, just run:
sqdashInvestigating failed jobs
- Type
:view failedand pressEnterto show only failed jobs - Use
↑/↓to select a job - Press
Enterto see the full error backtrace and job arguments - Press
rto retry the job, ordto discard it - Press
Escto go back to the list
Finding a specific job
- Press
/to open the search filter - Start typing a job class name (e.g.,
UserMailer), queue name, or job ID - Press
Tabto autocomplete — sqdash suggests matching class and queue names - Press
Enterto apply the filter - Press
Escto clear the filter and see all jobs again
Sorting jobs
- Press
:to open the command bar - Type
sort created ascto see oldest jobs first (useful for finding stuck jobs) - Press
Enterto apply - Other options:
sort created desc(default),sort id asc,sort id desc
Monitoring a queue in real time
sqdash auto-refreshes data every second when idle. You can also press Space to manually refresh. The stats bar at the top shows live counts of total, completed, failed, and pending jobs.
Keyboard shortcuts
| Key | Action |
|---|---|
↑ ↓
|
Navigate job list |
↵ |
Open job detail view |
/ |
Filter jobs (fuzzy search across all columns) |
: |
Command bar (sort, switch views) |
Tab |
Autocomplete (in filter or command mode) |
r |
Retry selected failed job |
d |
Discard selected failed job |
Space |
Refresh data |
q |
Quit |
Commands
Type : to open the command bar, then:
| Command | Description |
|---|---|
sort created desc |
Sort by created date, newest first (default) |
sort created asc |
Sort by created date, oldest first |
sort id desc |
Sort by job ID, highest first |
sort id asc |
Sort by job ID, lowest first |
view all |
Show all jobs |
view failed |
Show only failed jobs |
view completed |
Show only completed jobs |
view pending |
Show only pending jobs |
Arguments are optional — sort defaults to sort created desc, view defaults to view all.
Development
git clone https://github.com/nuhasami/sqdash.git
cd sqdash
bin/setup
bundle exec ruby exe/sqdash
rake testContributing
Bug reports and pull requests are welcome on GitHub at https://github.com/nuhasami/sqdash.
License
The gem is available as open source under the terms of the MIT License.
