diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-04-18 20:07:27 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-04-18 20:07:27 +0900 |
commit | a0e537fe0b1c0871594233974e52181e270811f7 (patch) | |
tree | 95bdb21cddb057d037efd53817a143da74f1107e /lib | |
parent | 7e5e12ef98bdf774af2733346fdbc3bca0739585 (diff) | |
download | aclog-a0e537fe0b1c0871594233974e52181e270811f7.tar.gz |
web/collector: fix WorkerManager.status
Diffstat (limited to 'lib')
-rw-r--r-- | lib/collector/control_server.rb | 17 | ||||
-rw-r--r-- | lib/collector/node_manager.rb | 19 |
2 files changed, 15 insertions, 21 deletions
diff --git a/lib/collector/control_server.rb b/lib/collector/control_server.rb index 3889817..904cd97 100644 --- a/lib/collector/control_server.rb +++ b/lib/collector/control_server.rb @@ -1,28 +1,27 @@ module Collector class ControlServer - def register_account(account) - NodeManager.register_account(Marshal.load(account)) + def register_account(account_id) + NodeManager.register_account(Account.find(account_id)) end - def deactivate_account(account) - NodeManager.unregister_account(Marshal.load(account)) + def deactivate_account(account_id) + NodeManager.unregister_account(Account.find(account_id)) end def status active_node_statuses = Settings.collector.nodes_count.times.map do |number| node = NodeManager.active_connections[number] if node - { activated_time: node.activated_time, + { activated_time: node.activated_time.to_i, connection_id: node.connection_id } else nil end end - res = { start_time: Daemon.start_time, - active_node_statuses: active_node_statuses, - inactive_nodes_count: NodeManager.inactive_connections.size } - Marshal.dump(res) + { start_time: Daemon.start_time.to_i, + active_node_statuses: active_node_statuses, + inactive_nodes_count: NodeManager.inactive_connections.size } end end end diff --git a/lib/collector/node_manager.rb b/lib/collector/node_manager.rb index 4c308af..e58433e 100644 --- a/lib/collector/node_manager.rb +++ b/lib/collector/node_manager.rb @@ -15,8 +15,7 @@ module Collector def unregister(node_connection) self.node_connections.delete(node_connection) - i = self.active_connections.find_index(node_connection) - if i + if i = self.active_connections.find_index(node_connection) self.active_connections[i] = nil else self.inactive_connections.delete(node_connection) @@ -25,25 +24,21 @@ module Collector end def register_account(account) - n = account.id % Settings.collector.nodes_count - if self.active_connections[n] - self.active_connections[n].register_account(account) + if con = self.active_connections[account.worker_number] + con.register_account(account) end end def unregister_account(account) - n = account.id % Settings.collector.nodes_count - if self.active_connections[n] - self.active_connections[n].unregister_account(account) + if con = self.active_connections[account.worker_number] + con.unregister_account(account) end end private def bind - first_inactive_id = self.active_connections.find_index(nil) - if first_inactive_id - con = self.inactive_connections.shift - if con + if first_inactive_id = self.active_connections.find_index(nil) + if con = self.inactive_connections.shift self.active_connections[first_inactive_id] = con con.activated_time = Time.now Rails.logger.warn("NodeManager") { "Registered node ##{con.connection_id} as group ##{first_inactive_id}" } |