in go/grpshuffle_client/main.go [16:100]
func main() {
var divide int
app := &cli.App{
Name: "grpshuffle-client",
Usage: "Client of groshuffle",
Commands: []*cli.Command{
{
Name: "shuffle",
Usage: "shuffle",
Flags: append([]cli.Flag{
&cli.IntFlag{
Name: "divide",
Aliases: []string{"d"},
Usage: "Number to divide",
EnvVars: []string{"GRPSHUFFLE_SHUFFLE_DIVIDE"},
Required: true,
Destination: ÷,
},
}, newGlobalFlags()...),
ArgsUsage: "DIVIDE TARGET1 TARGET2 ...",
Action: func(c *cli.Context) error {
conn, err := grpshuffleClient.Connect(grpshuffleClient.Host, grpshuffleClient.Port, grpshuffleClient.NoTLS)
if err != nil {
return err
}
defer grpshuffleClient.CloseConnect(conn)
cc := grpshuffle.NewComputeClient(conn)
rawResult, err := grpshuffleClient.Shuffle(&cc, uint64(divide), c.Args().Slice())
if err != nil {
return err
}
result, err := json.MarshalIndent(rawResult, "", " ")
if err != nil {
return err
}
fmt.Println(string(result))
return nil
},
},
{
Name: "health",
Usage: "health check server",
Action: func(c *cli.Context) error {
conn, err := grpshuffleClient.Connect(grpshuffleClient.Host, grpshuffleClient.Port, grpshuffleClient.NoTLS)
if err != nil {
return err
}
defer grpshuffleClient.CloseConnect(conn)
hc := grpc_health_v1.NewHealthClient(conn)
rawResult, err := grpshuffleClient.HealthCheck(&hc)
if err != nil {
return err
}
result, err := json.MarshalIndent(rawResult, "", " ")
if err != nil {
return err
}
fmt.Println(string(result))
return nil
},
Flags: append([]cli.Flag{}, newGlobalFlags()...),
},
{
Name: "http-serve",
Usage: "HTTP client server",
Action: func(c *cli.Context) error {
grpshuffleClient.HttpServe(8080)
return nil
},
Flags: append([]cli.Flag{}, newGlobalFlags()...),
},
},
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}