Make pool configurable
This commit is contained in:
22
cmd/cmd.go
22
cmd/cmd.go
@@ -62,6 +62,16 @@ var (
|
||||
EnvVar: "MICRO_CLIENT_RETRIES",
|
||||
Usage: "Sets the client retries. Default: 1",
|
||||
},
|
||||
cli.IntFlag{
|
||||
Name: "client_pool_size",
|
||||
EnvVar: "MICRO_CLIENT_POOL_SIZE",
|
||||
Usage: "Sets the client connection pool size. Default: 0",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "client_pool_ttl",
|
||||
EnvVar: "MICRO_CLIENT_POOL_TTL",
|
||||
Usage: "Sets the client connection pool ttl. e.g 500ms, 5s, 1m. Default: 1m",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "server_name",
|
||||
EnvVar: "MICRO_SERVER_NAME",
|
||||
@@ -337,6 +347,18 @@ func (c *cmd) Before(ctx *cli.Context) error {
|
||||
clientOpts = append(clientOpts, client.RequestTimeout(d))
|
||||
}
|
||||
|
||||
if r := ctx.Int("client_pool_size"); r > 0 {
|
||||
clientOpts = append(clientOpts, client.PoolSize(r))
|
||||
}
|
||||
|
||||
if t := ctx.String("client_pool_ttl"); len(t) > 0 {
|
||||
d, err := time.ParseDuration(t)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to parse client_pool_ttl: %v", t)
|
||||
}
|
||||
clientOpts = append(clientOpts, client.PoolTTL(d))
|
||||
}
|
||||
|
||||
// We have some command line opts for the server.
|
||||
// Lets set it up
|
||||
if len(serverOpts) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user