Skip to content
This repository has been archived by the owner on Nov 5, 2020. It is now read-only.

StartupWeekend/heroku-resque-workers-scaler

 
 

Repository files navigation

# heroku-resque-workers-scaler

Auto scale your resque workers on Heroku. Original code by darkhelmet:

Modify by joel => github.com/joel

On fork => github.com/joel/heroku-resque-workers-scaler

### Principals changes :

  • I’ve switched Jeweler Gem generator to simpel Bundler gem generator

  • I’ve switched to Rspec from TestUnit

  • I’ve switched to HerokuAPI Gem instead of Heroku Client Gem

  • Add safe mode for heroku

### Configuration :

You need to defined two vars for your heroku :

Go to your api.heroku.com/account heroku config:add HEROKU_API_KEY=your_api_key -a your_app_name heroku config:add HEROKU_APP_NAME=your_app_name -a your_app_name

You can test when executed this : “‘ HEROKU_API_KEY=your_api_key HEROKU_APP_NAME=your_app_name *** bundle exec *** rake spec “` You can changes thresholds and environments of execution into scaler_config.yml or on your project on config/scaler_config.yml

I just bundled it into a gem for easy inclusion into other projects.

#### Usage

Once the gem is installed, simply extend your job class as follows: “‘ class ScalingJob extend HerokuResqueAutoScale

def self.perform # Do something long running end end “‘ #### Active safe mode

When you ask heroku for scale down workers, heroku send SIGTERM and wait 4 secondes then send SIGKILL, but the worker catch signals can be currently work :( It’s bad but Heroku not provide API for manage this case today, you can look arround this [official article](devcenter.heroku.com/articles/queuing-ruby-resque#job-termination) but in this gem if you defined var ENV : “‘ heroku config:add SAFE_MODE=true -a your_app_name “` ## Contributing to heroku-resque-workers-scaler

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright © 2010 Mark Quezada. See LICENSE.txt for further details.

About

Auto scale your resque workers on Heroku. Original code by darkhelmet.

Resources

License

Stars

Watchers

Forks

Packages

No packages published