代码拉取完成,页面将自动刷新
package eoscli
import (
"context"
"fmt"
"strings"
"gitee.com/meng_mengs_boys/eosc/env"
"gitee.com/meng_mengs_boys/eosc/service"
"github.com/urfave/cli/v2"
)
var CmdInfo = "info"
func Info() *cli.Command {
return &cli.Command{
Name: CmdInfo,
Usage: "display information of the node",
Action: InfoFunc,
}
}
// InfoFunc 获取节点信息
func InfoFunc(c *cli.Context) error {
pid, err := readPid(env.PidFileDir())
if err != nil {
return err
}
client, err := createCtlServiceClient(pid)
if err != nil {
return err
}
defer client.Close()
response, err := client.List(context.Background(), &service.ListRequest{})
if err != nil {
return err
}
builder := strings.Builder{}
builder.WriteString("[ETCD]\n")
builder.WriteString(fmt.Sprintf("CLuster:%s\n", response.Cluster))
leaderBuilder := &strings.Builder{}
nodeBuilder := &strings.Builder{}
for _, n := range response.Info {
b := leaderBuilder
if n.Leader {
b.WriteString(fmt.Sprintf("Leader:\t%s\n", n.Name))
} else {
b = nodeBuilder
b.WriteString(fmt.Sprintf("Node:\t%s\n", n.Name))
}
b.WriteString(fmt.Sprintf("\t--Peer:\t%s\n", strings.Join(n.Peer, ",")))
b.WriteString(fmt.Sprintf("\t--Peer:\t%s\n", strings.Join(n.Admin, ",")))
b.WriteString(fmt.Sprintf("\t--Peer:\t%s\n", strings.Join(n.Server, ",")))
}
builder.WriteString(leaderBuilder.String())
builder.WriteString(nodeBuilder.String())
fmt.Println(builder.String())
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。