Set register ttl and interval by default

This commit is contained in:
Asim Aslam 2019-09-23 17:59:34 +01:00
parent d8dc713e2d
commit fa0d020556
3 changed files with 17 additions and 11 deletions

View File

@ -95,11 +95,13 @@ var (
cli.IntFlag{ cli.IntFlag{
Name: "register_ttl", Name: "register_ttl",
EnvVar: "MICRO_REGISTER_TTL", EnvVar: "MICRO_REGISTER_TTL",
Value: 60,
Usage: "Register TTL in seconds", Usage: "Register TTL in seconds",
}, },
cli.IntFlag{ cli.IntFlag{
Name: "register_interval", Name: "register_interval",
EnvVar: "MICRO_REGISTER_INTERVAL", EnvVar: "MICRO_REGISTER_INTERVAL",
Value: 30,
Usage: "Register interval in seconds", Usage: "Register interval in seconds",
}, },
cli.StringFlag{ cli.StringFlag{
@ -417,11 +419,11 @@ func (c *cmd) Before(ctx *cli.Context) error {
serverOpts = append(serverOpts, server.Advertise(ctx.String("server_advertise"))) serverOpts = append(serverOpts, server.Advertise(ctx.String("server_advertise")))
} }
if ttl := time.Duration(ctx.GlobalInt("register_ttl")); ttl > 0 { if ttl := time.Duration(ctx.GlobalInt("register_ttl")); ttl >= 0 {
serverOpts = append(serverOpts, server.RegisterTTL(ttl*time.Second)) serverOpts = append(serverOpts, server.RegisterTTL(ttl*time.Second))
} }
if val := time.Duration(ctx.GlobalInt("register_interval")); val > 0 { if val := time.Duration(ctx.GlobalInt("register_interval")); val >= 0 {
serverOpts = append(serverOpts, server.RegisterInterval(val*time.Second)) serverOpts = append(serverOpts, server.RegisterInterval(val*time.Second))
} }

View File

@ -42,8 +42,10 @@ type Options struct {
func newOptions(opt ...Option) Options { func newOptions(opt ...Option) Options {
opts := Options{ opts := Options{
Codecs: make(map[string]codec.NewCodec), Codecs: make(map[string]codec.NewCodec),
Metadata: map[string]string{}, Metadata: map[string]string{},
RegisterInterval: DefaultRegisterInterval,
RegisterTTL: DefaultRegisterTTL,
} }
for _, o := range opt { for _, o := range opt {

View File

@ -116,13 +116,15 @@ type Subscriber interface {
type Option func(*Options) type Option func(*Options)
var ( var (
DefaultAddress = ":0" DefaultAddress = ":0"
DefaultName = "go.micro.server" DefaultName = "go.micro.server"
DefaultVersion = time.Now().Format("2006.01.02.15.04") DefaultVersion = time.Now().Format("2006.01.02.15.04")
DefaultId = uuid.New().String() DefaultId = uuid.New().String()
DefaultServer Server = newRpcServer() DefaultServer Server = newRpcServer()
DefaultRouter = newRpcRouter() DefaultRouter = newRpcRouter()
DefaultRegisterCheck = func(context.Context) error { return nil } DefaultRegisterCheck = func(context.Context) error { return nil }
DefaultRegisterInterval = time.Second * 30
DefaultRegisterTTL = time.Minute
) )
// DefaultOptions returns config options for the default service // DefaultOptions returns config options for the default service