支持delete,修改err输出为stderr
This commit is contained in:
@@ -4,7 +4,6 @@ import (
|
||||
"bufio"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"os"
|
||||
"path"
|
||||
@@ -32,7 +31,7 @@ func RunWrite(args ...string) error {
|
||||
clear := paramClear(fs)
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
fmt.Println("command line parse error", "err", err)
|
||||
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -43,9 +42,10 @@ func RunWrite(args ...string) error {
|
||||
|
||||
cfg, err := LoadConfigFile(*cfgFile)
|
||||
if err != nil {
|
||||
slog.Error("LoadConfigFile error", "err", err)
|
||||
fmt.Fprintln(os.Stderr, "load config file error", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
writeParams := writeParams{
|
||||
cfg: cfg,
|
||||
sourcePath: *sourcePath,
|
||||
@@ -65,6 +65,7 @@ func RunWrite(args ...string) error {
|
||||
func doWrite(writeParams writeParams) error {
|
||||
fsInfo, err := os.Stat(writeParams.sourcePath)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, "file stat error", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -76,6 +77,7 @@ func doWrite(writeParams writeParams) error {
|
||||
// 读取目录下信息
|
||||
dirEntry, err := os.ReadDir(writeParams.sourcePath)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, "read dir error", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -96,6 +98,7 @@ func doLoadFileToWrite(writeParams writeParams) error {
|
||||
// 读取文件并按行遍历,以\t分割为两列,第一列为userid,第二列解析为string数组
|
||||
file, err := os.Open(writeParams.sourcePath)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, "open file error", "file", writeParams.sourcePath, "err", err)
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
@@ -108,17 +111,18 @@ func doLoadFileToWrite(writeParams writeParams) error {
|
||||
succTotal := uint32(0)
|
||||
total := uint32(0)
|
||||
for scaner.Scan() {
|
||||
total++
|
||||
line := scaner.Text()
|
||||
if line == "" {
|
||||
continue
|
||||
}
|
||||
saasWriteItem := &saasapi.WriteItem{}
|
||||
if err = protojson.Unmarshal([]byte(line), saasWriteItem); err != nil {
|
||||
fmt.Fprintln(os.Stderr, "protojson unmashal error", "file", writeParams.sourcePath, "line", total, "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
saasWriteItems = append(saasWriteItems, saasWriteItem)
|
||||
total++
|
||||
|
||||
if len(saasWriteItems) == int(writeParams.batchSize) {
|
||||
if succ, _, err = submitWrite(writeParams, saasWriteItems); err != nil {
|
||||
@@ -130,7 +134,6 @@ func doLoadFileToWrite(writeParams writeParams) error {
|
||||
|
||||
saasWriteItems = saasWriteItems[:0]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if len(saasWriteItems) > 0 {
|
||||
@@ -164,7 +167,13 @@ func submitWrite(writeParams writeParams, saasWriteCmds []*saasapi.WriteItem) (s
|
||||
res, err := writeParams.saasHttp.Write(saasReq)
|
||||
|
||||
if err != nil {
|
||||
slog.Error("submitWrite error", "err", err)
|
||||
fmt.Fprintln(os.Stderr, "submit write error", "err", err)
|
||||
return
|
||||
}
|
||||
|
||||
if res.GetCode() != saasapi.ErrorCode_SUCC {
|
||||
err = fmt.Errorf("write failed. code:%v, status:%v", res.GetCode(), res.GetStatus())
|
||||
fmt.Fprintln(os.Stderr, protojson.Format(res))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user