package siteprobe import "strings" // DefaultProbeFrequency 各协议推荐默认拨测间隔(秒)// Logan.Li func DefaultProbeFrequency(taskType string) int { switch strings.ToLower(taskType) { case "ssl": return 3600 // 证书日级变化,1 小时足够 case "dns": return 300 // 5 分钟 case "tcp", "ping": return 120 // 2 分钟 default: return 60 // HTTP 1 分钟 } } // MinProbeFrequency 各协议最小拨测间隔(秒),防止频率过高压垮平台 // Logan.Li func MinProbeFrequency(taskType string) int { switch strings.ToLower(taskType) { case "ssl": return 600 // 最少 10 分钟 case "dns": return 60 default: return 30 } } // NormalizeProbeFrequency 规范化拨测频率 // Logan.Li func NormalizeProbeFrequency(taskType string, freq int) int { if freq <= 0 { return DefaultProbeFrequency(taskType) } min := MinProbeFrequency(taskType) if freq < min { return min } return freq }