Sha256: cb6f9c2695181592484ea4276b4df909be58351530c8553f7855eabf2bd795d9
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
require 'delayed_job' module Delayed module Workless module Scaler class Base def self.jobs Delayed::Job.all(:conditions => { :failed_at => nil }) end def self.num_workers_cache Rails.cache.read("WORKLESS_NUM_WORKERS") || 0 end def self.num_workers_cache= num Rails.cache.write("WORKLESS_NUM_WORKERS", num) end def self.calculate_num_workers num_workers = self.workers if num_workers.class == Fixnum job_count = self.jobs.count if job_count > 500 return 4 unless num_workers > 3 elsif job_count > 200 return 3 unless num_workers > 2 elsif job_count > 50 return 2 unless num_workers > 1 elsif job_count > 0 return 1 unless num_workers > 0 else return 0 end end end end module HerokuClient def client @client ||= ::Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD']) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rcarvalho-workless-1.0.2.11 | lib/workless/scalers/base.rb |
rcarvalho-workless-1.0.2.10 | lib/workless/scalers/base.rb |