How to Add the Web Interface to Mission Control When Using Solid Queue in Rails
Written by Sean on May 18, 2025
Solid queue lets you use your database as the store for ApplicationJob. No need for redis!
But if you want a nice little web interface to inspect what's going on, you'll need something like Mission Control: https://github.com/rails/mission_control-jobs
Add it to your Gemfile
But if you want a nice little web interface to inspect what's going on, you'll need something like Mission Control: https://github.com/rails/mission_control-jobs
Add it to your Gemfile
gem "mission_control-jobs"
And install
cd your-rails-project bundle
It won't work out of the box. You'll need to mount the engine and authenticate requests. That's relatively straight forward and there a few ways to do it, enumerated in the project README.
But I've found the easiest thing to do is add a dedicated controller for auth.
I called mine MissionControlController and it looks like this.
class MissionControlController < ApplicationController before_action do redirect_to login_path, alert: "Please sign in to access this page" unless current_user && current_user.admin? end end
Then hook it up in config/application.rb
config.mission_control.jobs.base_controller_class = "MissionControlController" config.mission_control.jobs.http_basic_auth_enabled = false
And lastly mount the engine in config/routes.rb
mount MissionControl::Jobs::Engine, at: "/jobs"
I decided against basic auth because I already have an admin user system and that extra layer of auth becomes annoying quickly.
Here's what it looks like:
