Ver Fonte

fix: test channel frequency (#2119)

Seefs há 4 meses atrás
pai
commit
158b46eb4b

+ 1 - 1
controller/channel-test.go

@@ -625,7 +625,7 @@ func AutomaticallyTestChannels() {
 			}
 			for {
 				frequency := operation_setting.GetMonitorSetting().AutoTestChannelMinutes
-				time.Sleep(time.Duration(frequency) * time.Minute)
+				time.Sleep(time.Duration(int(math.Round(frequency))) * time.Minute)
 				common.SysLog(fmt.Sprintf("automatically test channels with interval %d minutes", frequency))
 				common.SysLog("automatically testing all channels")
 				_ = testAllChannels(false)

+ 3 - 3
setting/operation_setting/monitor_setting.go

@@ -8,8 +8,8 @@ import (
 )
 
 type MonitorSetting struct {
-	AutoTestChannelEnabled bool `json:"auto_test_channel_enabled"`
-	AutoTestChannelMinutes int  `json:"auto_test_channel_minutes"`
+	AutoTestChannelEnabled bool    `json:"auto_test_channel_enabled"`
+	AutoTestChannelMinutes float64 `json:"auto_test_channel_minutes"`
 }
 
 // 默认配置
@@ -28,7 +28,7 @@ func GetMonitorSetting() *MonitorSetting {
 		frequency, err := strconv.Atoi(os.Getenv("CHANNEL_TEST_FREQUENCY"))
 		if err == nil && frequency > 0 {
 			monitorSetting.AutoTestChannelEnabled = true
-			monitorSetting.AutoTestChannelMinutes = frequency
+			monitorSetting.AutoTestChannelMinutes = float64(frequency)
 		}
 	}
 	return &monitorSetting