A dashboard and observability gem for ActiveJob. Monitor, track, and retry job executions with a built-in UI.
- Ruby >= 3.2
- Rails >= 7.2
- Track all job executions (perform, enqueue, retry, discard)
- View success/failure rates, duration metrics, and trends
- Retry failed jobs from the UI
- Filter by job class, queue, status
- Multi-region support
- Zero configuration required for basic usage
Add to your Gemfile:
gem 'active_job_dash'Then install:
bundle install
rails generate active_job_dash:install
rails db:migrateVisit /admin/jobs to see the dashboard.
# config/initializers/active_job_dash.rb
ActiveJobDash.enabled = true
ActiveJobDash.store_arguments = true
ActiveJobDash.retention_days = 30
ActiveJobDash.region = ENV['REGION']
# Exclude jobs from tracking
ActiveJobDash.excluded_jobs = ['SomeNoisyJob']
# Dashboard authentication (receives request, runs in controller context)
ActiveJobDash.dashboard_auth = ->(request) {
admin_id = request.session[:admin_id]
redirect_to root_path unless admin_id.present?
}# Get stats for the last hour
stats = ActiveJobDash.stats(period: 1.hour)
stats.summary
# => { total: 1523, success: 1500, failed: 23, avg_duration_ms: 45.2, failure_rate: 1.51 }
# Stats by job class
stats.by_job_class
# Recent failures
stats.recent_failures(limit: 10)
# Retry a specific job
execution = ActiveJobDash::JobExecution.find(id)
execution.retry!MIT