优化集群批量操作结果显示

This commit is contained in:
刘祥超
2021-05-23 22:36:52 +08:00
parent 0bb63b5bb7
commit 2b2b516788

View File

@@ -6,10 +6,12 @@ import (
"github.com/TeaOSLab/EdgeAdmin/internal/configs" "github.com/TeaOSLab/EdgeAdmin/internal/configs"
"github.com/TeaOSLab/EdgeAdmin/internal/rpc" "github.com/TeaOSLab/EdgeAdmin/internal/rpc"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"sort"
"strconv" "strconv"
"sync" "sync"
) )
// MessageResult 和节点消息通讯结果定义
type MessageResult struct { type MessageResult struct {
NodeId int64 `json:"nodeId"` NodeId int64 `json:"nodeId"`
NodeName string `json:"nodeName"` NodeName string `json:"nodeName"`
@@ -17,7 +19,7 @@ type MessageResult struct {
Message string `json:"message"` Message string `json:"message"`
} }
// 向集群发送命令消息 // SendMessageToCluster 向集群发送命令消息
func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg interface{}, timeoutSeconds int32) (results []*MessageResult, err error) { func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg interface{}, timeoutSeconds int32) (results []*MessageResult, err error) {
results = []*MessageResult{} results = []*MessageResult{}
@@ -153,10 +155,17 @@ func SendMessageToCluster(ctx context.Context, clusterId int64, code string, msg
} }
wg.Wait() wg.Wait()
// 对结果进行排序
if len(results) > 0 {
sort.Slice(results, func(i, j int) bool {
return results[i].NodeId < results[j].NodeId
})
}
return return
} }
// 向一组节点发送命令消息 // SendMessageToNodeIds 向一组节点发送命令消息
func SendMessageToNodeIds(ctx context.Context, nodeIds []int64, code string, msg interface{}, timeoutSeconds int32) (results []*MessageResult, err error) { func SendMessageToNodeIds(ctx context.Context, nodeIds []int64, code string, msg interface{}, timeoutSeconds int32) (results []*MessageResult, err error) {
results = []*MessageResult{} results = []*MessageResult{}
if len(nodeIds) == 0 { if len(nodeIds) == 0 {
@@ -321,5 +330,12 @@ func SendMessageToNodeIds(ctx context.Context, nodeIds []int64, code string, msg
} }
wg.Wait() wg.Wait()
// 对结果进行排序
if len(results) > 0 {
sort.Slice(results, func(i, j int) bool {
return results[i].NodeId < results[j].NodeId
})
}
return return
} }