فهرست منبع

重构设置 Check 部分

Signed-off-by: allan716 <[email protected]>
allan716 2 سال پیش
والد
کامیت
896f54c812
3فایلهای تغییر یافته به همراه39 افزوده شده و 18 حذف شده
  1. 15 0
      pkg/settings/download_file_cache.go
  2. 3 18
      pkg/settings/settings.go
  3. 21 0
      pkg/settings/task_queue.go

+ 15 - 0
pkg/settings/download_file_cache.go

@@ -8,3 +8,18 @@ type DownloadFileCache struct {
 func NewDownloadFileCache() *DownloadFileCache {
 	return &DownloadFileCache{TTL: 4320, Unit: "hour"}
 }
+
+func (d DownloadFileCache) Check() {
+	if d.Unit == "second" {
+		// 半年的秒数
+		if d.TTL < 259200 || d.TTL > 525600 {
+			d.TTL = 259200
+		}
+	}
+	if d.Unit == "hour" {
+		// 半年的小时数
+		if d.TTL < 4320 || d.TTL > 8760 {
+			d.TTL = 4320
+		}
+	}
+}

+ 3 - 18
pkg/settings/settings.go

@@ -166,24 +166,9 @@ func (s *Settings) Check() {
 		}
 	}
 	// 这里需要做一次 Default 的检查,因为有设置会被改写低于预期,至少要在 Default 之上
-	if s.AdvancedSettings.TaskQueue.MaxRetryTimes < 1 || s.AdvancedSettings.TaskQueue.MaxRetryTimes > 5 {
-		s.AdvancedSettings.TaskQueue.MaxRetryTimes = 3
-	}
-	if s.AdvancedSettings.TaskQueue.OneJobTimeOut < 300 || s.AdvancedSettings.TaskQueue.OneJobTimeOut > 600 {
-		s.AdvancedSettings.TaskQueue.OneJobTimeOut = 300
-	}
-	if s.AdvancedSettings.TaskQueue.Interval < 10 || s.AdvancedSettings.TaskQueue.Interval > 60 {
-		s.AdvancedSettings.TaskQueue.Interval = 10
-	}
-	if s.AdvancedSettings.TaskQueue.ExpirationTime < 1 || s.AdvancedSettings.TaskQueue.ExpirationTime > 180 {
-		s.AdvancedSettings.TaskQueue.ExpirationTime = 90
-	}
-	if s.AdvancedSettings.TaskQueue.DownloadSubDuringXDays < 1 || s.AdvancedSettings.TaskQueue.DownloadSubDuringXDays > 30 {
-		s.AdvancedSettings.TaskQueue.DownloadSubDuringXDays = 7
-	}
-	if s.AdvancedSettings.TaskQueue.OneSubDownloadInterval < 12 || s.AdvancedSettings.TaskQueue.OneSubDownloadInterval > 48 {
-		s.AdvancedSettings.TaskQueue.OneSubDownloadInterval = 12
-	}
+	s.AdvancedSettings.TaskQueue.Check()
+	s.AdvancedSettings.DownloadFileCache.Check()
+
 }
 
 // isDir 存在且是文件夹

+ 21 - 0
pkg/settings/task_queue.go

@@ -21,3 +21,24 @@ func NewTaskQueue() *TaskQueue {
 		CheckPublicIPTargetSite: "",
 	}
 }
+
+func (t *TaskQueue) Check() {
+	if t.MaxRetryTimes < 1 || t.MaxRetryTimes > 5 {
+		t.MaxRetryTimes = 3
+	}
+	if t.OneJobTimeOut < 300 || t.OneJobTimeOut > 600 {
+		t.OneJobTimeOut = 300
+	}
+	if t.Interval < 10 || t.Interval > 60 {
+		t.Interval = 10
+	}
+	if t.ExpirationTime < 1 || t.ExpirationTime > 180 {
+		t.ExpirationTime = 90
+	}
+	if t.DownloadSubDuringXDays < 1 || t.DownloadSubDuringXDays > 30 {
+		t.DownloadSubDuringXDays = 7
+	}
+	if t.OneSubDownloadInterval < 12 || t.OneSubDownloadInterval > 48 {
+		t.OneSubDownloadInterval = 12
+	}
+}