1 Star 0 Fork 0

蒙蒙的男孩/eosc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
info.go 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
蒙蒙的男孩 提交于 2024-01-10 13:49 +08:00 . 重定义项目地址
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
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/meng_mengs_boys/eosc.git
git@gitee.com:meng_mengs_boys/eosc.git
meng_mengs_boys
eosc
eosc
v1.15.7

搜索帮助