monitor_setting.go 846 B

1234567891011121314151617181920212223242526272829303132333435
  1. package operation_setting
  2. import (
  3. "os"
  4. "strconv"
  5. "github.com/QuantumNous/new-api/setting/config"
  6. )
  7. type MonitorSetting struct {
  8. AutoTestChannelEnabled bool `json:"auto_test_channel_enabled"`
  9. AutoTestChannelMinutes float64 `json:"auto_test_channel_minutes"`
  10. }
  11. // 默认配置
  12. var monitorSetting = MonitorSetting{
  13. AutoTestChannelEnabled: false,
  14. AutoTestChannelMinutes: 10,
  15. }
  16. func init() {
  17. // 注册到全局配置管理器
  18. config.GlobalConfig.Register("monitor_setting", &monitorSetting)
  19. }
  20. func GetMonitorSetting() *MonitorSetting {
  21. if os.Getenv("CHANNEL_TEST_FREQUENCY") != "" {
  22. frequency, err := strconv.Atoi(os.Getenv("CHANNEL_TEST_FREQUENCY"))
  23. if err == nil && frequency > 0 {
  24. monitorSetting.AutoTestChannelEnabled = true
  25. monitorSetting.AutoTestChannelMinutes = float64(frequency)
  26. }
  27. }
  28. return &monitorSetting
  29. }