Skip to content

Commit

Permalink
add flags for register ttl and interval
Browse files Browse the repository at this point in the history
  • Loading branch information
Asim Aslam committed Apr 6, 2018
1 parent 73e22eb commit 56735b4
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
14 changes: 14 additions & 0 deletions cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,16 @@ var (
EnvVar: "MICRO_CLIENT_POOL_TTL",
Usage: "Sets the client connection pool ttl. e.g 500ms, 5s, 1m. Default: 1m",
},
cli.IntFlag{
Name: "register_ttl",
EnvVar: "MICRO_REGISTER_TTL",
Usage: "Register TTL in seconds",
},
cli.IntFlag{
Name: "register_interval",
EnvVar: "MICRO_REGISTER_INTERVAL",
Usage: "Register interval in seconds",
},
cli.StringFlag{
Name: "server_name",
EnvVar: "MICRO_SERVER_NAME",
Expand Down Expand Up @@ -370,6 +380,10 @@ func (c *cmd) Before(ctx *cli.Context) error {
serverOpts = append(serverOpts, server.Advertise(ctx.String("server_advertise")))
}

if ttl := time.Duration(ctx.GlobalInt("register_ttl")); ttl > 0 {
serverOpts = append(serverOpts, server.RegisterTTL(ttl*time.Second))
}

// client opts
if r := ctx.Int("client_retries"); r > 0 {
clientOpts = append(clientOpts, client.Retries(r))
Expand Down
17 changes: 16 additions & 1 deletion service.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import (
"syscall"
"time"

log "github.com/micro/go-log"
"github.com/micro/cli"
"github.com/micro/go-log"
"github.com/micro/go-micro/client"
"github.com/micro/go-micro/cmd"
"github.com/micro/go-micro/metadata"
Expand Down Expand Up @@ -66,6 +67,20 @@ func (s *service) Init(opts ...Option) {
}

s.once.Do(func() {
// save user action
action := s.opts.Cmd.App().Action

// set service action
s.opts.Cmd.App().Action = func(c *cli.Context) {
// set register interval
if i := time.Duration(c.GlobalInt("register_interval")); i > 0 {
s.opts.RegisterInterval = i * time.Second
}

// user action
action(c)
}

// Initialise the command flags, overriding new service
_ = s.opts.Cmd.Init(
cmd.Broker(&s.opts.Broker),
Expand Down

0 comments on commit 56735b4

Please sign in to comment.