package comp import ( "encoding/json" "flag" "git.wanbits.io/joe/franklin/protos" "git.wanbits.io/joe/kettle/log" "git.wanbits.io/joe/kettle/mac" "git.wanbits.io/joe/kettle/mq/mqsvr" "git.wanbits.io/joe/kettle/utl" "git.wanbits.io/joe/kettle/rds" "os" "strconv" "strings" "time" ) var ( GConfile string // 配置文件 GTestConfile string // 测试配置文件 GCmd string // 启动命令 GBootAt string // 启动时间 Gmi mac.MachMeta ) func init() { mac.GetMachInfo(&Gmi) } func InitEnv(defConf, defTest string) { flag.StringVar(&GConfile, "conf", defConf, "specify config file") flag.StringVar(>estConfile, "test", defTest, "config file test") flag.Parse() GCmd = strings.Join(os.Args, " ") GBootAt = time.Now().Format("2006-01-02 15:04:05") } func InitAll(c * protos.AppConf) { var err error _, err = ConnectEtcd(c.Zoo) utl.ErrPanic(err) // log logger := log.NewSLogger(c.Log.Path, c.Log.Level) log.SetDefaultLogger(logger) // redis rdsjs, err := GEtcdc.Get(PathRedis(c)) utl.ErrPanic(err) var redisConf protos.RedisConf err = json.Unmarshal(rdsjs, &redisConf) utl.ErrPanic(err) GRds, err = rds.Connect(redisConf.Addrs[0], redisConf.Password, int(redisConf.Db)) utl.ErrPanic(err) // mq mqjs, err := GEtcdc.Get(PathMq(c)) utl.ErrPanic(err) var mqConf protos.NatsConf err = json.Unmarshal(mqjs, &mqConf) utl.ErrPanic(err) clientId := strconv.FormatUint(c.Id, 10) GMq, err = mqsvr.NewStan(mqConf.Addrs, mqConf.Username, mqConf.Password, mqConf.ClusterId, clientId, clientId) utl.ErrPanic(err) }