Published on
1 min read

delayed_job_web - A resque inspired interface for delayed_job

Authors

delayed_job_web is a gem that provides a web interface for delayed_job, inspired by Resque. It allows you to monitor all background job activities without searching the database directly.

Features

  • View enqueued, working, pending, and failed jobs.
  • Retry single or multiple failed jobs immediately.
  • Remove failed jobs easily.
  • Live AJAX polling to watch operations.

Quick Start for Rails 5+

Add the dependency to your Gemfile:

gem 'delayed_job_web'

# Required for dependency resolution in some environments
gem 'rack-protection', github: 'sinatra/sinatra'
gem 'sinatra', github: 'sinatra/sinatra'
Interface Screenshot

Add the following routes to your config/routes.rb:

get '/delayed_job' => DelayedJobWeb, :anchor => false
put '/delayed_job' => DelayedJobWeb, :anchor => false
post '/delayed_job' => DelayedJobWeb, :anchor => false

Authentication

To secure the interface (e.g., only for super admins):

authenticate :user, ->(u) { u.super_admin? } do
  get '/delayed_job' => DelayedJobWeb, :anchor => false
  put '/delayed_job' => DelayedJobWeb, :anchor => false
  post '/delayed_job' => DelayedJobWeb, :anchor => false
end
TwitterLinkedInHacker News