0.0
No release in over 3 years
Monitor, track, and retry ActiveJob executions. Provides a dashboard UI, job history, and failure management.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

 Project Readme

ActiveJobDash

A dashboard and observability gem for ActiveJob. Monitor, track, and retry job executions with a built-in UI.

Requirements

  • Ruby >= 3.2
  • Rails >= 7.2

Features

  • 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

Installation

Add to your Gemfile:

gem 'active_job_dash'

Then install:

bundle install
rails generate active_job_dash:install
rails db:migrate

Usage

Visit /admin/jobs to see the dashboard.

Configuration

# 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?
}

Programmatic Access

# 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!

License

MIT