Module: ScaleWorkers::LoadMonitor

Defined in:
lib/scale_workers/load_monitor.rb

Class Method Summary collapse

Class Method Details

.can_increase_load?(max_cpu_load, max_memory_load) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/scale_workers/load_monitor.rb', line 16

def self.can_increase_load?(max_cpu_load, max_memory_load)
  increment_count  = 0
  ScaleWorkers.configuration.load_cycles.times do
    if self.cpu_load < max_cpu_load && self.memory_load < max_memory_load
      increment_count += 1
    else
      increment_count -= 2
    end
    sleep(ScaleWorkers.configuration.load_sleep_time)
  end
  # increment_count > 0 ? say("Load normal-Increment") : say("Load high-Decrement")
  return increment_count > 0
end

.cpu_loadObject



8
9
10
# File 'lib/scale_workers/load_monitor.rb', line 8

def self.cpu_load
  vendor.uw_cpuused
end

.memory_loadObject



12
13
14
# File 'lib/scale_workers/load_monitor.rb', line 12

def self.memory_load
  vendor.uw_memused
end

.vendorObject



4
5
6
# File 'lib/scale_workers/load_monitor.rb', line 4

def self.vendor
  Usagewatch
end