Просмотр исходного кода

获取 code 的时候进行多次尝试

Signed-off-by: allan716 <[email protected]>
allan716 3 лет назад
Родитель
Сommit
79978024f6

+ 0 - 1
internal/logic/cron_helper/cron_helper.go

@@ -110,7 +110,6 @@ func (ch *CronHelper) Start(runImmediately bool) {
 			//if err != nil {
 			//	ch.log.Errorln(err)
 			//}
-			//
 
 			//ch.scanVideoProcessAdd2DownloadQueue()
 			//

+ 26 - 4
internal/pkg/something_static/something_static.go

@@ -3,8 +3,10 @@ package something_static
 import (
 	b64 "encoding/base64"
 	"errors"
+	"fmt"
 	"os"
 	"path/filepath"
+	"time"
 
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/types/common"
@@ -88,12 +90,32 @@ func GetCodeFromWeb(l *logrus.Logger, nowTimeFileNamePrix string) (string, strin
 	const backupCodeFileUrl = "https://get-static.subtitle.best/"
 	desUrlBackup := backupCodeFileUrl + nowTimeFileNamePrix + common.StaticFileName00
 
-	updateTimeString, code, err := getCodeFromWeb(l, desUrl)
-	if err != nil {
-		updateTimeString, code, err = getCodeFromWeb(l, desUrlBackup)
+	var err error
+	updateTimeString := ""
+	code := ""
+	found := false
+	count := 0
+	for {
+		if found == true {
+			break
+		}
+		count++
+		if count > 5 {
+			break
+		}
+		updateTimeString, code, err = getCodeFromWeb(l, desUrl)
 		if err != nil {
-			return "", "", err
+			updateTimeString, code, err = getCodeFromWeb(l, desUrlBackup)
+			if err != nil {
+				continue
+			}
 		}
+		time.Sleep(time.Second * 5)
+		found = true
+	}
+
+	if found == false {
+		return "", "", errors.New(fmt.Sprintf("get code from web failed, %v \n", err.Error()))
 	}
 
 	return updateTimeString, code, nil