Class: Gru::WorkerManager
- Inherits:
-
Object
- Object
- Gru::WorkerManager
- Defined in:
- lib/gru/worker_manager.rb
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
Instance Method Summary collapse
- #adjust_workers ⇒ Object
- #expire_dead_cluster_members ⇒ Object
- #expire_workers ⇒ Object
-
#initialize(adapter) ⇒ WorkerManager
constructor
A new instance of WorkerManager.
- #provision_workers ⇒ Object
- #register_workers ⇒ Object
- #release_workers ⇒ Object
Constructor Details
#initialize(adapter) ⇒ WorkerManager
Returns a new instance of WorkerManager.
5 6 7 |
# File 'lib/gru/worker_manager.rb', line 5 def initialize(adapter) @adapter = adapter end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
3 4 5 |
# File 'lib/gru/worker_manager.rb', line 3 def adapter @adapter end |
Instance Method Details
#adjust_workers ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# 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 ⇒ Object
9 10 11 |
# File 'lib/gru/worker_manager.rb', line 9 def expire_dead_cluster_members @adapter.release_presumed_dead_worker_hosts end |
#expire_workers ⇒ Object
21 22 23 |
# File 'lib/gru/worker_manager.rb', line 21 def expire_workers @adapter.expire_workers end |
#provision_workers ⇒ Object
17 18 19 |
# File 'lib/gru/worker_manager.rb', line 17 def provision_workers @adapter.provision_workers end |
#register_workers ⇒ Object
13 14 15 |
# File 'lib/gru/worker_manager.rb', line 13 def register_workers @adapter.set_worker_counts end |
#release_workers ⇒ Object
37 38 39 |
# File 'lib/gru/worker_manager.rb', line 37 def release_workers @adapter.release_workers end |