Emit worker info with status

This commit is contained in:
Charles Care
2019-12-20 15:42:00 +00:00
parent e4d89117bf
commit fa91091e7a
2 changed files with 7 additions and 4 deletions

View File

@@ -165,11 +165,11 @@ module Pipeline::Rpc
channel.each do |key, backend|
addresses << backend.public_address
end
workers = @worker_presence.list_for(addresses)
status[worker_class] = {
target_versions: versions,
channel_keys: channel.keys,
queue_addresses: addresses,
worker_ids: @worker_presence.list_for(addresses)
workers: workers
}
end
status

View File

@@ -9,6 +9,7 @@ module Pipeline::Rpc
def mark_seen!(identity, connected_queues, worker_info)
connected_queues.each do |queue_address|
@last_seen[queue_address][identity] = {
identity: identity,
last_seen: Time.now.to_i,
info: worker_info
}
@@ -24,9 +25,11 @@ module Pipeline::Rpc
def list_for(queue_addresses)
workers = []
queue_addresses.each do |queue_address|
workers += @last_seen[queue_address].keys
@last_seen[queue_address].each do |worker|
workers << worker
end
workers.uniq
end
workers.uniq { |w| w[:identity] }
end
def count_for(queue_addresses)