1
0
Fork 0
Task management tool and GUI for Ruby on Rails
Go to file
Gregory Eremin 0dbdb232df Organizing storages 2013-06-12 12:45:14 +04:00
burden_web Organizing storages 2013-06-12 12:45:14 +04:00
lib Organizing storages 2013-06-12 12:45:14 +04:00
spec Branding 2013-06-06 22:55:21 +04:00
.gitignore Ignore builds 2013-06-07 14:53:57 +04:00
Gemfile Branding 2013-06-06 22:55:21 +04:00
LICENSE.txt Initial commit 2013-06-04 21:03:30 +04:00
README.md Updating gemspecs 2013-06-07 14:20:01 +04:00
Rakefile Branding 2013-06-06 22:55:21 +04:00
burden.gemspec Updating gemspecs 2013-06-07 14:20:01 +04:00

README.md

Burden

Burden is a task management tool for Rake. It records all tasks invocations.

Burden Web is a web interface for Burden.

Installation

Add this line to your application's Gemfile:

gem 'burden'

And then execute:

$ bundle
$ bundle exec rails generate burden:install

Configuration

For non-Rails apps, add these lines to the top of your application's Rakefile.

For Rails apps, create an initializer containing these lines.

require 'burden'

Burden.configure do |c|
  c.storage = :active_record # or :mongoid, :mongo_mapper
  c.ignored_tasks = [/^db:/, /environment/]
  c.on_failure = ->(task_name, execution_time, timestamp){
    Mail.new(to: me,
      subject: "Task #{task_name} failed!",
      body: <<-MSG
        Started at: #{timestamp}
        Execution time: #{execution_time}s
        Status: FAILED
      MSG
    ).send
  }
end

All configuration options are optional.

Usage

Burden::Storage.run.where(name: 'db:migrate', success: false).order('created_at desc').limit(10)

Dashboard

Burden Dashboard

Burden comes with a nice dashboard to view and manage your tasks right from the web.

To install it add this line to your application's Gemfile:

gem 'burden_web'

Mount Burden's web interface to the path of your choise in config/routes.rb:

Rails.application.routes.draw do
  mount BurdenWeb::Engine => '/burden'
end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request