diff --git a/internal/uploader/uploader.go b/internal/uploader/uploader.go index b9f8f8f..c8d2967 100644 --- a/internal/uploader/uploader.go +++ b/internal/uploader/uploader.go @@ -334,7 +334,7 @@ func processFile(ctx context.Context, logChan *chan string, filePath string, fil lines := make(chan string, 200) var countLine int32 = 0 // 创建指定个worker同时处理文件上传 - for i := 0; i < config.APPConfig.ThreadCount; i++ { + for i := range config.APPConfig.ThreadCount { select { case <-ctx.Done(): close(lines) @@ -342,6 +342,7 @@ func processFile(ctx context.Context, logChan *chan string, filePath string, fil default: } + //创建处理进程 go func() { processLines(ctx, logChan, &lines, i, filePath, &countLine) }() @@ -356,6 +357,7 @@ func processFile(ctx context.Context, logChan *chan string, filePath string, fil fmt.Println("panic:", f+":"+strconv.Itoa(l), r) } }() + for scanner.Scan() { select { case <-ctx.Done(): @@ -384,6 +386,7 @@ func processFile(ctx context.Context, logChan *chan string, filePath string, fil Percentage: int(float64(countLine) / float64(fileLines) * 100), }, ) + time.Sleep(50 * time.Millisecond) } //上传完成,进度设为100 progress.Store(filepath.Base(filePath), @@ -415,6 +418,7 @@ func processLines(ctx context.Context, logChan *chan string, lines *chan string, // 跳过空行 if strings.TrimSpace(line) == "" { + atomic.AddInt32(countLine, 1) continue } // 上传数据