From e7023e0b959f123965c5fe867bb710908f2de076 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期二, 06 八月 2019 10:02:06 +0800 Subject: [PATCH] test multi image cut face time --- controllers/fileController.go | 45 +++++++++++++++++++++++++++++---------------- 1 files changed, 29 insertions(+), 16 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index febd9cc..207edab 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -20,6 +20,7 @@ "sort" "strconv" "strings" + "sync" "time" "webserver/extend/code" "webserver/extend/config" @@ -674,24 +675,36 @@ addResult := make(map[string]interface{}, 0) successList := make([]string, 0) failList := make([]string,0) + tAllStart := time.Now() + var wg sync.WaitGroup + var lock sync.Mutex for _, head := range fileHeaders { - //鏂囦欢鐨勫悕绉� - filename := head.Filename - file, err := head.Open() - fmt.Println(file, err, filename) - if err != nil { - log.Fatal(err) - } - - field, _, err1 := uploadFileReturnAddr(file, filename, tableId) - //extNames = append(extNames, field) - - if err1 != nil || field == "" { - failList = append(failList, filename) - } else { - successList = append(successList, filename) - } + wg.Add(1) + go func(head *multipart.FileHeader,tableId string) { + defer wg.Done() + tIStart := time.Now() + filename := head.Filename + file, err := head.Open() + fmt.Println(file, err, filename) + if err != nil { + lock.Lock() + failList = append(failList, filename) + lock.Unlock() + return + } + field, _, err1 := uploadFileReturnAddr(file, filename, tableId) + lock.Lock() + if err1 != nil || field == "" { + failList = append(failList, filename) + } else { + successList = append(successList, filename) + } + lock.Unlock() + logger.Debug(filename,"鍒囧浘鐢ㄦ椂锛�",time.Since(tIStart)) + }(head, tableId) + wg.Wait() } + logger.Debug("鍒�",len(fileHeaders),"寮犱汉鑴哥敤鏃讹細", time.Since(tAllStart)) addResult["successList"] = successList addResult["failList"] = failList addResult["fields"] = extNames -- Gitblit v1.8.0