2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-12-27 00:02:19 +08:00

Make NodeCluster fields read-only

This commit is contained in:
Ken Hibino 2021-05-19 16:48:38 -07:00
parent 8aeeb61c9d
commit c8bda26bed

View File

@ -666,21 +666,29 @@ func (i *Inspector) ClusterKeySlot(qname string) (int64, error) {
// ClusterNode describes a node in redis cluster. // ClusterNode describes a node in redis cluster.
type ClusterNode struct { type ClusterNode struct {
// Node ID in the cluster. // Node ID in the cluster.
ID string id string
// Address of the node. // Address of the node.
Addr string addr string
} }
// ID returns the node ID in the cluster.
func (node *ClusterNode) ID() string { return node.id }
// Addr returns the address of the node.
func (node *ClusterNode) Addr() string { return node.addr }
// ClusterNodes returns a list of nodes the given queue belongs to. // ClusterNodes returns a list of nodes the given queue belongs to.
func (i *Inspector) ClusterNodes(qname string) ([]ClusterNode, error) { //
// Only relevant if task queues are stored in redis cluster.
func (i *Inspector) ClusterNodes(qname string) ([]*ClusterNode, error) {
nodes, err := i.rdb.ClusterNodes(qname) nodes, err := i.rdb.ClusterNodes(qname)
if err != nil { if err != nil {
return nil, err return nil, err
} }
var res []ClusterNode var res []*ClusterNode
for _, node := range nodes { for _, node := range nodes {
res = append(res, ClusterNode{ID: node.ID, Addr: node.Addr}) res = append(res, &ClusterNode{id: node.ID, addr: node.Addr})
} }
return res, nil return res, nil
} }