zoukankan      html  css  js  c++  java
  • nsq源码阅读3_编译nsqd

    nsq源码阅读3_编译nsqd

    我也很纳闷源码为啥不能运行,难道仓库管理员没检查?

    把main.go变成下面的

    func main() {
    	p := &program{}
    	//if err := svc.Run(prg, syscall.SIGINT, syscall.SIGTERM); err != nil {
    	//	logFatal("%s", err)
    	//}
    
    	opts := nsqd.NewOptions()
    
    	flagSet := nsqdFlagSet(opts)
    	flagSet.Parse(os.Args[1:])
    
    	rand.Seed(time.Now().UTC().UnixNano())
    
    	if flagSet.Lookup("version").Value.(flag.Getter).Get().(bool) {
    		fmt.Println(version.String("nsqd"))
    		os.Exit(0)
    	}
    
    	var cfg config
    	configFile := flagSet.Lookup("config").Value.String()
    	if configFile != "" {
    		_, err := toml.DecodeFile(configFile, &cfg)
    		if err != nil {
    			logFatal("failed to load config file %s - %s", configFile, err)
    		}
    	}
    	cfg.Validate()
    
    	options.Resolve(opts, flagSet, cfg)
    
    	nsqd, err := nsqd.New(opts)
    	if err != nil {
    		logFatal("failed to instantiate nsqd - %s", err)
    	}
    	p.nsqd = nsqd
    
    	err = p.nsqd.LoadMetadata()
    	if err != nil {
    		logFatal("failed to load metadata - %s", err)
    	}
    	err = p.nsqd.PersistMetadata()
    	if err != nil {
    		logFatal("failed to persist metadata - %s", err)
    	}
    
    	go func() {
    		err := p.nsqd.Main()
    		if err != nil {
    			p.Stop()
    			os.Exit(1)
    		}
    	}()
    
    	for {
    		time.Sleep(time.Second)
    	}
    
    }
    

    执行命令

    nsqd.exe --lookupd-tcp-address=127.0.0.1:4160

  • 相关阅读:
    SqlServer 格式化时间
    工作生活两三事
    前端面试题准备 3
    前端面试题准备 2
    MYSQL---自定义函数
    MYSQL---MD5()、PASSWORD()函数
    MYSQL---DATE_ADD()
    MYSQL---%
    MYSQL---多表删除
    MYSQL---CREATE...SELECT
  • 原文地址:https://www.cnblogs.com/maomaomaoge/p/15344623.html
Copyright © 2011-2022 走看看