A Sinatra app to view/manage beanstalkd queues that can be embedded in a Rails app similar to what's available in Resque.
To use in a Rails app, include the gem in your Gemfile:
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, e.g. 'beanstalk://localhost:11300,beanstalk://localhost:11400'
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
- CSS/JS assets not being served in Rails when running behind Apache or Nginx
Run the beanstalkd_view executable, e.g.
or from a Rails app:
bundle exec beanstalkd_view
(This will use the vegas gem to launch the Sinatra app on an available port.)
Alternatively, a Rackup file is provided. To use: cd into the beanstalkd_view directory and execute:
You can have a look at beanstalkd_view by running it in a Docker container:
docker build -t beanstalkd_view git://github.com/denniskuczynski/beanstalkd_view.git docker run -t -i -p 5678:5678 -e BEANSTALK_URL=beanstalk://172.17.0.2 beanstalkd_view
Most likely you have to adjust BEANSTALK_URL for your setup. You can then access beanstalkd_view on http://localhost:5678
For development, install Grunt and Bower as specified on their websites. Then execute
bower install grunt
There are 3 variants of RSpec tests.
- Without beanstalkd running, just execute: rspec spec
- With 1 instance of beanstalkd running (default port), execute: rspec spec --tag requires_beanstalkd
- With 2 instances of beanstalkd running (ports 11300 and 11400), execute: rspec spec --tag requires_two_beanstalkd
beanstalkd_view is released under the MIT license:
It makes use of the following components also using the MIT license:
Sinatra - http://www.sinatrarb.com/
jQuery - http://jquery.org/
Bluff JS Graphs - http://bluff.jcoglan.com/
And under the Apache license:
- Twitter Bootstrap - http://twitter.github.com/bootstrap/