diff --git a/config.yaml b/config.yaml index 570cb87..f3e43d3 100644 --- a/config.yaml +++ b/config.yaml @@ -3,3 +3,4 @@ jobs: name: Price Processor entryClass: top.bazargam.Main jarURI: http://price-processor.bz2/price-processor-v0.0.1.jar + savepointInterval: 3m \ No newline at end of file diff --git a/internal/config/config.type.go b/internal/config/config.type.go index a3d026f..a940044 100644 --- a/internal/config/config.type.go +++ b/internal/config/config.type.go @@ -1,10 +1,13 @@ package config +import "time" + type JobDef struct { - Key string `yaml:"key"` - Name string `yaml:"name"` - EntryClass string `yaml:"entryClass"` - JarURI string `yaml:"jarURI"` + Key string `yaml:"key"` + Name string `yaml:"name"` + EntryClass string `yaml:"entryClass"` + JarURI string `yaml:"jarURI"` + SavepointInterval time.Duration `yaml:"savepointInterval"` } type Config struct { diff --git a/internal/managed_job/cycle.go b/internal/managed_job/cycle.go index 9bdb248..765adb1 100644 --- a/internal/managed_job/cycle.go +++ b/internal/managed_job/cycle.go @@ -58,7 +58,7 @@ func (job *ManagedJob) cycle() { if errors.Is(err, ErrNoJobId) { job.state = nil } - if job.state.LastSavepointDate == nil || time.Now().Add(-time.Minute*3).After(*job.state.LastSavepointDate) { + if job.state.LastSavepointDate == nil || time.Now().Add(-job.def.SavepointInterval).After(*job.state.LastSavepointDate) { if job.state.SavepointTriggerId == nil { job.createSavepoint() } else {