zhangmeng
2020-01-13 94e9f50569bd20a697edb36711d017de1c19d1a5
proc/single.go
@@ -3,9 +3,37 @@
import (
   "analysis/logo"
   "analysis/util"
   "analysis/work"
   "context"
   "strings"
)
func slaveProc(ctx context.Context, typ string, id string, gpu int, shm bool) bool {
   name, ok := prepare(typ, gpu)
   if !ok {
      logo.Errorln("SLAVEPROC ERROR: ", name)
      return false
   }
   if id != util.FakeSdkID {
      build(name, id, shm)
      runAll(ctx)
   } else {
      util.InitDBAPI()
      sdks := util.SDKInfo()
      // 首先运行yolo
      for k, v := range sdks {
         if strings.EqualFold(typ, v.SdkType) {
            build(v.SdkType, v.IpcId, shm)
            logo.Infof("SINGLE PROC ID %s TYPE %s\n", k, v.IpcId, v.SdkType)
         }
      }
      runAll(ctx)
   }
   return true
}
// SingleRole 单进程
func SingleRole(ctx context.Context, typ string, ipcID string, gpu int, shm bool) bool {
@@ -24,17 +52,17 @@
   return ret
}
func sdkProc(ctx context.Context, typ string, gpu int, shm bool) {
func sdkProc(ctx context.Context, typ string, gpu int, shm bool) bool {
   if typ != util.FeatYolo && typ != util.FeatFace {
      logo.Errorf("NO THIS SDK PROC SDKPROC : ", typ)
   }
   rSDK := []string{
      work.FDetect,
      work.FCompare,
      FDetect,
      FCompare,
   }
   if typ == util.FeatYolo {
      rSDK = rSDK[0:0]
      rSDK = append(rSDK, work.YDetect)
      rSDK = append(rSDK, YDetect)
   }
   var res []bool
   for _, v := range rSDK {
@@ -44,7 +72,7 @@
   for k, v := range res {
      if !v {
         logo.Errorln(k, " type proc failed to init")
         return
         return false
      }
   }
@@ -60,12 +88,13 @@
   }
   runAll(ctx)
   return false
}
func allProc(ctx context.Context, gpu int, shm bool) {
func allProc(ctx context.Context, gpu int, shm bool) bool {
   var res []bool
   for _, v := range work.SDK {
   for _, v := range SDK {
      _, f := prepare(v, gpu)
      res = append(res, f)
   }
@@ -73,7 +102,7 @@
   for k, v := range res {
      if !v {
         logo.Errorln(k, " ALL PROC FAILED TO INIT")
         return
         return false
      }
   }
@@ -95,4 +124,5 @@
   }
   runAll(ctx)
   return true
}