No commit activity in last 3 years
No release in over 3 years
Add to a Rails 3.x project to auto scale QueueClassic workers on heroku.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 3.3.0
>= 0
>= 0

Runtime

~> 0.3.2
~> 0.6.0
 Project Readme

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 Code Climate

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.