Skip to content

HireArt/delayed_job_web

 
 

Repository files navigation

delayed_job_web

A resque inspired (read: stolen) interface for delayed_job. This gem is written to work with rails 3 and 4 applications using activerecord.

Some features:

  • Easily view jobs enqueued, working, pending, and failed.
  • Queue any single job. or all pending jobs, to run immediately.
  • Remove a failed job, or easily remove all failed jobs.
  • Watch delayed_job operation with live ajax polling.
  • Filter delayed_jobs by queue name

Quick Start For Rails 3 and 4 Applications

Add the dependency to your Gemfile

gem "delayed_job_web"

Install it...

bundle

Add the following route to your application for accessing the interface, and retrying failed jobs.

match "/delayed_job" => DelayedJobWeb, :anchor => false, via: [:get, :post]

You probably want to password protect the interface, an easy way is to add something like this your config.ru file

if Rails.env.production?
  DelayedJobWeb.use Rack::Auth::Basic do |username, password|
    username == 'username' && password == 'password'
  end
end

delayed_job_web runs as a Sinatra application within the rails application. Visit it at /delayed_job_web.

Serving static assets

If you mount the app on another route, you may encounter the CSS not working anymore. To work around this you can leverage a special HTTP header. Install it, activate it and configure it -- see below.

Apache

XSendFile On 
XSendFilePath /path/to/shared/bundle

XSendFilePath white-lists a directory from which static files are allowed to be served. This should be at least the path to where delayed_job_web is installed.

Using Rails you'll have to set config.action_dispatch.x_sendfile_header = "X-Sendfile".

Nginx

Nginx uses an equivalent that's called X-Accel-Redirect, further instructions can be found in their wiki.

Rails' will need to be configured to config.action_dispatch.x_sendfile_header = "X-Accel-Redirect".

Lighttpd

Lighty is more X-Sendfile, like outlined in their wiki.

The Interface - Yea, a ripoff of resque-web

Screen shot

Author

Erick Schmitt - @ejschmitt

About

Resque like web interface for delayed job

Resources

License

Stars

Watchers

Forks

Packages

No packages published