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