diff options
author | George Goldberg <george@gberg.me> | 2017-09-28 17:11:13 +0100 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-09-28 09:11:13 -0700 |
commit | a06830b2f88a8d374c326a1191870cbc7cf7dac2 (patch) | |
tree | 4879ce49de061fba894fe01b54db701c639f0e94 /model | |
parent | f263d2b9510fb557fe075dee5097cb32e2b1e5e2 (diff) | |
download | chat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.tar.gz chat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.tar.bz2 chat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.zip |
PLT-7644: Improve job scheduler architecture. (#7532)
Diffstat (limited to 'model')
-rw-r--r-- | model/config.go | 4 | ||||
-rw-r--r-- | model/job.go | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/model/config.go b/model/config.go index 8b6aad0e5..6cf716372 100644 --- a/model/config.go +++ b/model/config.go @@ -1859,7 +1859,7 @@ func (o *Config) IsValid() *AppError { return NewAppError("Config.IsValid", "model.config.is_valid.elastic_search.aggregate_posts_after_days.app_error", nil, "", http.StatusBadRequest) } - if _, err := time.Parse("03:04", *o.ElasticsearchSettings.PostsAggregatorJobStartTime); err != nil { + if _, err := time.Parse("15:04", *o.ElasticsearchSettings.PostsAggregatorJobStartTime); err != nil { return NewAppError("Config.IsValid", "model.config.is_valid.elastic_search.posts_aggregator_job_start_time.app_error", nil, err.Error(), http.StatusBadRequest) } @@ -1871,7 +1871,7 @@ func (o *Config) IsValid() *AppError { return NewAppError("Config.IsValid", "model.config.is_valid.data_retention.file_retention_days_too_low.app_error", nil, "", http.StatusBadRequest) } - if _, err := time.Parse("03:04", *o.DataRetentionSettings.DeletionJobStartTime); err != nil { + if _, err := time.Parse("15:04", *o.DataRetentionSettings.DeletionJobStartTime); err != nil { return NewAppError("Config.IsValid", "model.config.is_valid.data_retention.deletion_job_start_time.app_error", nil, err.Error(), http.StatusBadRequest) } diff --git a/model/job.go b/model/job.go index 85dfbec92..843d73fad 100644 --- a/model/job.go +++ b/model/job.go @@ -7,6 +7,7 @@ import ( "encoding/json" "io" "net/http" + "time" ) const ( @@ -116,6 +117,9 @@ type Worker interface { } type Scheduler interface { - Run() - Stop() + Name() string + JobType() string + Enabled(cfg *Config) bool + NextScheduleTime(cfg *Config, now time.Time, pendingJobs bool, lastSuccessfulJob *Job) *time.Time + ScheduleJob(cfg *Config, pendingJobs bool, lastSuccessfulJob *Job) (*Job, *AppError) } |