class Gru::WorkerManager

Attributes

adapter[R]

Public Class Methods

new(adapter) click to toggle source
# File lib/gru/worker_manager.rb, line 5
def initialize(adapter)
  @adapter = adapter
end

Public Instance Methods

adjust_workers() click to toggle source
# File lib/gru/worker_manager.rb, line 25
def adjust_workers
  result = {}
  expire_dead_cluster_members
  add = provision_workers
  remove = expire_workers
  keys = add.keys + remove.keys
  keys.uniq.each do |key|
    result[key] = add.fetch(key) {0} + remove.fetch(key) {0}
  end
  result
end
expire_dead_cluster_members() click to toggle source
# File lib/gru/worker_manager.rb, line 9
def expire_dead_cluster_members
  @adapter.release_presumed_dead_worker_hosts
end
expire_workers() click to toggle source
# File lib/gru/worker_manager.rb, line 21
def expire_workers
  @adapter.expire_workers
end
provision_workers() click to toggle source
# File lib/gru/worker_manager.rb, line 17
def provision_workers
  @adapter.provision_workers
end
register_workers() click to toggle source
# File lib/gru/worker_manager.rb, line 13
def register_workers
  @adapter.set_worker_counts
end
release_workers() click to toggle source
# File lib/gru/worker_manager.rb, line 37
def release_workers
  @adapter.release_workers
end