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  }