github.com/nsqio/nsq@v1.3.0/nsqlookupd/options.go (about) 1 package nsqlookupd 2 3 import ( 4 "log" 5 "os" 6 "time" 7 8 "github.com/nsqio/nsq/internal/lg" 9 ) 10 11 type Options struct { 12 LogLevel lg.LogLevel `flag:"log-level"` 13 LogPrefix string `flag:"log-prefix"` 14 Logger Logger 15 16 TCPAddress string `flag:"tcp-address"` 17 HTTPAddress string `flag:"http-address"` 18 BroadcastAddress string `flag:"broadcast-address"` 19 20 InactiveProducerTimeout time.Duration `flag:"inactive-producer-timeout"` 21 TombstoneLifetime time.Duration `flag:"tombstone-lifetime"` 22 } 23 24 func NewOptions() *Options { 25 hostname, err := os.Hostname() 26 if err != nil { 27 log.Fatal(err) 28 } 29 30 return &Options{ 31 LogPrefix: "[nsqlookupd] ", 32 LogLevel: lg.INFO, 33 TCPAddress: "0.0.0.0:4160", 34 HTTPAddress: "0.0.0.0:4161", 35 BroadcastAddress: hostname, 36 37 InactiveProducerTimeout: 300 * time.Second, 38 TombstoneLifetime: 45 * time.Second, 39 } 40 }