zhangmeng
2020-01-15 ba1e2c442a3b71ccdf79f03c7404d706f5c44c04
app/master/master.go
@@ -5,7 +5,6 @@
   "analysis/logo"
   "analysis/util"
   "context"
   "io/ioutil"
   "basic.com/libgowrapper/sdkstruct.git"
)
@@ -17,50 +16,34 @@
}
// Run run
func Run(ctx context.Context, configPath string) bool {
func Run(ctx context.Context, soFile, configPath string) bool {
   reaper(ctx)
   rPath := configPath
   configFile := configPath
   var fetcher *Fetcher
   fs, _ := ioutil.ReadDir(rPath)
   for _, file := range fs {
      if !file.IsDir() {
         if rPath[len(rPath)-1] != '/' {
            configFile = rPath + "/" + file.Name()
         } else {
            configFile = rPath + file.Name()
         }
         cfg, err := app.ReadConfig(configFile)
         if err != nil {
            logo.Errorln("Run Fetcher Master Read From File: ", configFile, " Config Error: ", err)
            continue
         }
         fetcher = NewFetcher(cfg.SoFile)
         if fetcher == nil {
            logo.Errorln("New Fetcher Load so File Funcs Error From File: ", cfg.SoFile)
            continue
         }
      }
   }
   fetcher := NewFetcher(soFile)
   if fetcher == nil {
      logo.Errorln("!!!!!!Read All So File, But Can't Init DB Fetcher")
      logo.Errorln("New Fetcher Load so File Funcs Error From File: ", soFile)
      return false
   }
   logo.Infoln("~~~~~~Created Fetcher, Now Sync From DB")
   // fetcher.fnInitDBAPI(util.FSI.IP, util.FSI.HTTPort, util.FSI.HBPort, util.FSI.DataPort, logo.Infoln)
   fetcher.fnInitDBAPI("192.168.20.10", util.FSI.HTTPort, util.FSI.HBPort, util.FSI.DataPort, logo.Infoln)
   fetcher.fnInitDBAPI(util.FSI.IP, util.FSI.HTTPort, util.FSI.HBPort, util.FSI.DataPort, logo.Infoln)
   // fetcher.fnInitDBAPI("192.168.20.10", util.FSI.HTTPort, util.FSI.HBPort, util.FSI.DataPort, logo.Infoln)
   sdks := fetcher.fnSDKInfo()
   for {
      if len(sdks) == 0 {
         logo.Errorln("!!!!!!Fetcher Can't Get SDK Infos From Remote DB")
         continue
      }
      break
   }
   return manualStart(ctx, sdks, configPath)
}
func manualStart(ctx context.Context, sdks []sdkstruct.SDKInfo, configPath string) bool {
   rPath := configPath
   params := app.GetParams()
   for _, v := range sdks {
@@ -84,8 +67,8 @@
         "-" + util.ConfigPath + "=" + file,
      }
      args = append(args, app.GetParams(util.ConfigPath, file)...)
      pid, err := runProc(ctx, "./analysis", args, &cfg.Env)
      args = append(args, params...)
      pid, err := runProc(ctx, "./analysis", args, cfg.Env)
      if err != nil {
         logo.Errorf("ANALYSIS START SLAVE PROC %s IPC: %s error %+v\n", v.SdkType, v.IpcID, err)