Sha256: fa821775ebf26960acaa53408bfc90add154fbff228549c9c7765d3d0d990653

Contents?: true

Size: 591 Bytes

Versions: 9

Compression:

Stored size: 591 Bytes

Contents

require 'heroku'

module Delayed
  module Workless
    module Scaler

      class Heroku < Base

        require "heroku"

        def up
          client.set_workers(ENV['APP_NAME'], 1) if workers == 0       
        end

        def down
          client.set_workers(ENV['APP_NAME'], 0) unless workers == 0 or jobs.count > 0
        end

        def workers
          client.info(ENV['APP_NAME'])[:workers].to_i
        end

        private

        def client
          @client ||= ::Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD'])
        end

      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
workless-0.2.0 lib/workless/scalers/heroku.rb
workless-0.1.0 lib/workless/scalers/heroku.rb
workless-0.0.9 lib/workless/scalers/heroku.rb
workless-0.0.8 lib/workless/scalers/heroku.rb
workless-0.0.7 lib/workless/scalers/heroku.rb
workless-0.0.6 lib/workless/scalers/heroku.rb
workless-0.0.5 lib/workless/scalers/heroku.rb
workless-0.0.4 lib/workless/scalers/heroku.rb
workless-0.0.3 lib/workless/scalers/heroku.rb