aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-01-22 10:46:29 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-01-22 10:46:29 +0900
commit91a306d97c3ca8cdbfa79eb4791af3ab3f6f6a2a (patch)
tree1ca728b66ba37270c9118c0c9c680070e095a75b
parentdb1cc70d823fc2f1c0689ce3f1eebba83b284f58 (diff)
downloadaclog-91a306d97c3ca8cdbfa79eb4791af3ab3f6f6a2a.tar.gz
collector: send accounts with :avtivate event
-rw-r--r--collector/daemon.rb2
-rw-r--r--collector/node_connection.rb22
2 files changed, 13 insertions, 11 deletions
diff --git a/collector/daemon.rb b/collector/daemon.rb
index 432ac20..a978952 100644
--- a/collector/daemon.rb
+++ b/collector/daemon.rb
@@ -15,7 +15,7 @@ module Collector
EM.run do
sock_path = File.join(Rails.root, "tmp", "sockets", "collector.sock")
- File.delete(sock_path) if File.exists?(sock_path)
+ File.delete(sock_path) if File.exist?(sock_path)
control = MessagePack::RPC::Server.new
control.listen(MessagePack::RPC::UNIXServerTransport.new(sock_path), Collector::ControlServer.new)
EM.defer { control.run }
diff --git a/collector/node_connection.rb b/collector/node_connection.rb
index 511af2a..5b4f254 100644
--- a/collector/node_connection.rb
+++ b/collector/node_connection.rb
@@ -41,12 +41,7 @@ module Collector
def register_account(account)
send_message(event: :register,
- data: { id: account.id,
- consumer_key: Settings.consumer.key,
- consumer_secret: Settings.consumer.secret,
- oauth_token: account.oauth_token,
- oauth_token_secret: account.oauth_token_secret,
- user_id: account.user_id })
+ data: account_data(account))
log(:info, "Registered account ##{account.id}/#{account.user_id}")
end
@@ -59,11 +54,9 @@ module Collector
def activate(block_number)
@activated_at = Time.now
+ accs = Account.active.where("id % ? = ?", Settings.collector.nodes_count, block_number)
send_message(event: :activate,
- data: { users: [] })
- Account.active.where("id % ? = ?", Settings.collector.nodes_count, block_number).each do |a|
- register_account(a)
- end
+ data: { accounts: accs.map(&method(:account_data)) })
end
private
@@ -149,6 +142,15 @@ module Collector
send_message(event: :heartbeat, data: id)
end
+ def account_data(account)
+ { id: account.id,
+ consumer_key: Settings.consumer.key,
+ consumer_secret: Settings.consumer.secret,
+ oauth_token: account.oauth_token,
+ oauth_token_secret: account.oauth_token_secret,
+ user_id: account.user_id }
+ end
+
def log(level, message)
Rails.logger.__send__(level, "Node(#{@connection_id})") { message }
end