|
@@ -15,6 +15,7 @@ import (
|
|
"net/http"
|
|
"net/http"
|
|
"sync"
|
|
"sync"
|
|
"sync/atomic"
|
|
"sync/atomic"
|
|
|
|
+ "time"
|
|
|
|
|
|
"app.yhyue.com/moapp/jybase/es"
|
|
"app.yhyue.com/moapp/jybase/es"
|
|
ossSDK "github.com/aliyun/aliyun-oss-go-sdk/oss"
|
|
ossSDK "github.com/aliyun/aliyun-oss-go-sdk/oss"
|
|
@@ -161,9 +162,19 @@ func Upload(bucketID, objectName string, data io.Reader, gzipEnabled bool) error
|
|
reader = data
|
|
reader = data
|
|
}
|
|
}
|
|
// 上传到OSS
|
|
// 上传到OSS
|
|
- if err := bucket.PutObject(objectName, reader); err != nil {
|
|
|
|
- log.Println(bucketID, objectName, "上传出错", err)
|
|
|
|
- return err
|
|
|
|
|
|
+ retry := 0
|
|
|
|
+ for {
|
|
|
|
+ if err := bucket.PutObject(objectName, reader); err != nil {
|
|
|
|
+ retrySleep := g.Config().MustGet(gctx.New(), "retrySleep", 3).Int()
|
|
|
|
+ log.Println(bucketID, objectName, "第", retry+1, "次上传出错,", retrySleep, "秒后重试", err)
|
|
|
|
+ if retry >= g.Config().MustGet(gctx.New(), "retry", 3).Int() {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ retry++
|
|
|
|
+ time.Sleep(time.Duration(retrySleep) * time.Second)
|
|
|
|
+ } else {
|
|
|
|
+ break
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|