From 1880429e73f6e5dfb74018e976a6f59244c0cec9 Mon Sep 17 00:00:00 2001 From: wd665544 Date: Sun, 24 Jul 2022 17:34:04 +0800 Subject: [PATCH] add config --- scheduler/config/config.go | 20 ++++++++++++++++++++ scheduler/config/constants.go | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/scheduler/config/config.go b/scheduler/config/config.go index 9c23cc3d2..9c64ab6e0 100644 --- a/scheduler/config/config.go +++ b/scheduler/config/config.go @@ -81,6 +81,9 @@ func New() *Config { HostGCInterval: DefaultSchedulerHostGCInterval, HostTTL: DefaultSchedulerHostTTL, }, + Cpu: DefaultCpu, + RefreshMode: false, + RefreshModelInterval: DefaultRefreshModelInterval, }, DynConfig: &DynConfig{ RefreshInterval: DefaultDynConfigRefreshInterval, @@ -172,6 +175,14 @@ func (cfg *Config) Validate() error { return errors.New("scheduler requires parameter taskTTL") } + if cfg.Scheduler.Cpu <= 0 { + return errors.New("scheduler requires parameter cpu") + } + + if cfg.Scheduler.RefreshMode && cfg.Scheduler.RefreshModelInterval <= 0 { + return errors.New("scheduler requires parameter RefreshModelInterval") + } + if cfg.DynConfig.RefreshInterval <= 0 { return errors.New("dynconfig requires parameter refreshInterval") } @@ -284,6 +295,15 @@ type SchedulerConfig struct { // Task and peer gc configuration. GC *GCConfig `yaml:"gc" mapstructure:"gc"` + + // Cpu Limit + Cpu int `yaml:"cpu" mapstructure:"cpu"` + + // Enable refresh mode + RefreshMode bool `yaml:"refreshMode" mapstructure:"refreshMode"` + + // Update model interval + RefreshModelInterval time.Duration `yaml:"refreshModelInterval" mapstructure:"refreshModelInterval"` } type GCConfig struct { diff --git a/scheduler/config/constants.go b/scheduler/config/constants.go index d6d482a33..7c6136d6f 100644 --- a/scheduler/config/constants.go +++ b/scheduler/config/constants.go @@ -76,6 +76,12 @@ const ( // DefaultSchedulerHostTTL is default ttl for host. DefaultSchedulerHostTTL = 48 * time.Hour + + // DefaultCPU is default cpu usage + DefaultCpu = 1 + + // DefaultRefreshModelInterval is model refresh interval + DefaultRefreshModelInterval = 168 * time.Hour ) const (