Hub info function
This commit is contained in:
parent
d811f366a9
commit
3d98c84548
24
hub/hub.go
24
hub/hub.go
@ -57,6 +57,30 @@ func (h *Hub) Sub(s *Subscription) {
|
|||||||
h.subscribers = append(h.subscribers, s)
|
h.subscribers = append(h.subscribers, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Hub) Info() map[string]map[string]uint {
|
||||||
|
info := make(map[string]map[string]uint)
|
||||||
|
|
||||||
|
for queue, size := range h.storage.Info() {
|
||||||
|
info[queue] = map[string]uint{
|
||||||
|
"messages": size,
|
||||||
|
"subscriptions": 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for _, sub := range h.subscribers {
|
||||||
|
for _, queue := range sub.Queues {
|
||||||
|
if _, ok := info[queue]; !ok {
|
||||||
|
info[queue] = map[string]uint{"messages": 0}
|
||||||
|
}
|
||||||
|
if _, ok := info[queue]["subscriptions"]; !ok {
|
||||||
|
info[queue]["subscriptions"] = 0
|
||||||
|
}
|
||||||
|
info[queue]["subscriptions"] += 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return info
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Hub) cleanupEverySecond() {
|
func (h *Hub) cleanupEverySecond() {
|
||||||
t := time.NewTicker(1 * time.Second)
|
t := time.NewTicker(1 * time.Second)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user