Emit worker info with status
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
end
|
||||
workers.uniq
|
||||
workers.uniq { |w| w[:identity] }
|
||||
end
|
||||
|
||||
def count_for(queue_addresses)
|
||||
|
||||
Reference in New Issue
Block a user