From 9d9cd1d3b93613071d1dffc1c82c4515d2a65af6 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 21 一月 2020 17:22:39 +0800 Subject: [PATCH] bug fixed change real fetcher ip --- main.go | 58 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 16 deletions(-) diff --git a/main.go b/main.go index 097b036..b495dbe 100644 --- a/main.go +++ b/main.go @@ -3,9 +3,13 @@ import ( "analysis/logo" "analysis/util" + "fmt" + "os/exec" "os/signal" + "runtime/debug" "strconv" "syscall" + "time" "analysis/app/master" "analysis/app/slave" @@ -36,25 +40,24 @@ ) func init() { - flag.StringVar(&role, "role", roleMaster, "run process role master/slave, default master") - flag.StringVar(&runType, "sdk", util.FeatAll, "run sdk type, facedetect/yolo,etc.") - flag.StringVar(&id, "id", util.FakeSdkID, "sdk id as ipc label") + flag.StringVar(&role, "role", roleMaster, "杩涚▼鍚姩鏂瑰紡,master/slave") + flag.StringVar(&runType, "sdk", util.FeatAll, "杩涚▼杩愯鐨勭畻娉曠被鍨婩aceDetect/Yolo,etc.slave浣跨敤") + flag.StringVar(&id, "id", util.FakeSdkID, "杩涚▼杩愯绠楁硶鐨処D,slave浣跨敤") - flag.StringVar(&configPath, util.ConfigPath, "", "sdk config file path") + flag.StringVar(&configPath, util.ConfigPath, "", "杩涚▼杩愯绠楁硶鐨勫弬鏁伴厤缃枃浠惰矾寰�,master浠庤矾寰勮鍙栨枃浠�,slave浣跨敤鏂囦欢") - flag.BoolVar(&logit, util.LogIt, false, "use logger,default flase") - flag.BoolVar(&shm, util.SHM, false, "use shm for performance") + flag.BoolVar(&logit, util.LogIt, false, "鏄惁淇濆瓨鏃ュ織鏂囦欢,榛樿false") + flag.BoolVar(&shm, util.SHM, false, "鏄惁浣跨敤shared memory, 榛樿false, slave浣跨敤") - flag.IntVar(&gpu, util.GPU, -1, "gpu index") + flag.IntVar(&gpu, util.GPU, -1, "杩涚▼杩愯绠楁硶闇�瑕佺殑GPU Index") // 鎸囧畾鑾峰彇閰嶇疆淇℃伅浠巗qlite,鏈夋渶楂樹紭鍏堢骇, master浣跨敤 - flag.StringVar(&util.FSI.IP, util.FetchSrvIP, util.FSI.IP, "fetch server ip, like camera info") - flag.IntVar(&util.FSI.HTTPort, util.FetchSrvPort, util.FSI.HTTPort, "fetch server port") - flag.IntVar(&util.FSI.HBPort, util.FetchSrvHeartbeatPort, util.FSI.HBPort, "fetch server heartbeat port") - flag.IntVar(&util.FSI.DataPort, util.FetchSrvDataPort, util.FSI.DataPort, "fetch server data port") + flag.StringVar(&util.FSI.IP, util.FetchSrvIP, util.FSI.IP, "浠嶪P鑾峰彇闇�瑕佽繍琛岀殑SDK,master浣跨敤") + flag.IntVar(&util.FSI.HBPort, util.FetchSrvHeartbeatPort, util.FSI.HBPort, "鑾峰彇闇�瑕佽繍琛岀殑SDK鏈嶅姟鍣ㄧ殑蹇冭烦 Port,master浣跨敤") + flag.IntVar(&util.FSI.DataPort, util.FetchSrvDataPort, util.FSI.DataPort, "鑾峰彇闇�瑕佽繍琛岀殑SDK鏈嶅姟鍣ㄧ殑鏁版嵁 Port,master浣跨敤") // 鎸囧畾鍙戦�佸埌ruleprocess鐨刬pc鍦板潃 - flag.StringVar(&util.ToRuleIPC, util.RuleIPC, util.ToRuleIPC, "send data to ruleprocess ipc") + flag.StringVar(&util.ToRuleIPC, util.RuleIPC, util.ToRuleIPC, "灏嗙畻娉曡繍琛岀粨鏋滃彂閫佸埌瑙勫垯鏈嶅姟鍣ㄧ殑IPC鍦板潃,slave浣跨敤") } func runLogger() { @@ -70,10 +73,9 @@ } func setParamters() { - util.FillParams(util.FetchSrvIP, util.FSI.IP) - util.FillParams(util.FetchSrvPort, strconv.Itoa(util.FSI.HTTPort)) - util.FillParams(util.FetchSrvHeartbeatPort, strconv.Itoa(util.FSI.HBPort)) - util.FillParams(util.FetchSrvDataPort, strconv.Itoa(util.FSI.DataPort)) + // util.FillParams(util.FetchSrvIP, util.FSI.IP) + // util.FillParams(util.FetchSrvHeartbeatPort, strconv.Itoa(util.FSI.HBPort)) + // util.FillParams(util.FetchSrvDataPort, strconv.Itoa(util.FSI.DataPort)) util.FillParams(util.RuleIPC, util.ToRuleIPC) @@ -107,6 +109,7 @@ ret := false if role == roleMaster { + defer dump(util.LogFile + "_dump_" + time.Now().Format("20060102150405")) setParamters() ret = master.Run(ctx, "./libcomm.so", configPath) @@ -138,3 +141,26 @@ // viper.AddConfigPath("./") // envString := "" + +func dump(dumpFile string) { + dumpErr := recover() + if dumpErr == nil { + return + } + f, err := os.Create(dumpFile) + if err != nil { + return + } + f.WriteString(fmt.Sprintf("panic:\r\n%v", dumpErr)) + f.WriteString("\r\n\nstack:\r\n") + f.WriteString(string(debug.Stack())) + f.Close() + + ////////////////////////////////////////////// + // restart master + + cmd := exec.Command(os.Args[0], os.Args[1:]...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.Start() +} -- Gitblit v1.8.0