README.md
Autoscale QueueClassic workers on Heroku
==================
Add to a Rails 3.x project to auto scale QueueClassic workers on heroku.
**WARNING: USE AT OWN RISK! THIS GEM IS CONSIDERED EXTREME ALPHA!**
[![Build Status](https://secure.travis-ci.org/zerobearing2/heroku-qc-autoscale.png)](http://travis-ci.org/zerobearing2/heroku-qc-autoscale)
[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/zerobearing2/heroku-qc-autoscale)
Usage
-----
Install as gem
gem install heroku-qc-autoscale
Add to Gemfile
gem "heroku-qc-autoscale"
Create config/initializers/qc_autoscale.rb
Autoscale.config do |c|
c.api_key = ENV['HEROKU_API_KEY']
c.app = ENV['AUTOSCALE_APP']
c.min = ENV['AUTOSCALE_MIN']
c.scale = [1, 15, 30, 40, 50]
end
Autoscale.activate! if Rails.env.production?
Queue jobs as normal with QueueClassic. Based on your scale table, it will recalculate the
workers required after each QC#enqueue, and QC#delete.
QC.enqueue("Time.now")
TODO
----
- remove Rails dependencies
- remove ActiveSupport dependencies
- when queue is emptied, scale workers to "min" after X time elapses.
- rake task to scale workers to "min" manually
- enable/disable scaling at runtime
Meta
----
Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).