/beanstalkd_view

A Sinatra app to view/manage beanstalkd queues that can be embedded in a Rails app similar to what's available in Resque

Primary LanguageJavaScriptMIT LicenseMIT

Build Status

Beanstalkd View

A Sinatra app to view/manage beanstalkd queues that can be embedded in a Rails app similar to what's available in Resque.

Configuration

To use in a Rails app, include the gem in your Gemfile:

gem 'beanstalk-client', :git => 'https://github.com/kr/beanstalk-client-ruby.git' #Use the latest, if you need the pause-tube command
gem beanstalkd_view

Otherwise, gem install beanstalkd_view

Use the following environment variable to specify the location of the beanstalk server:

ENV['BEANSTALK_URL'] = 'beanstalk://localhost/'

(This can be a comma separated list.)

Embedding in a Rails app

Add the following to your routes.rb file:

mount BeanstalkdView::Server, :at => "/beanstalkd"

(NOTE: You may mount the server at any path, not just /beanstalkd)

You can then browse to your application path to view information about your beanstalkd tubes, i.e. http://127.0.0.1:3000/beanstalkd

If you wish to authenticate the mounted app with Devise, it would look something like:

devise_for :admin_users, ActiveAdmin::Devise.config

match('/beanstalkd/admin/login' => redirect('/admin/login'))
authenticate :admin_user do
  mount BeanstalkdView::Server, at: "/beanstalkd"
end

Running from the command line

Run the beanstalkd_view executable, e.g.

beanstalkd_view

or from a Rails app:

bundle exec beanstalkd_view

(This will use the vegas gem to launch the Sinatra app on an available port.)

Screenshot

Screenshot

License

beanstalkd_view is released under the MIT license:

It makes use of the following components also using the MIT license:

And under the Apache license: