summaryrefslogtreecommitdiffstats
path: root/model/job.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-09-28 17:11:13 +0100
committerCorey Hulen <corey@hulen.com>2017-09-28 09:11:13 -0700
commita06830b2f88a8d374c326a1191870cbc7cf7dac2 (patch)
tree4879ce49de061fba894fe01b54db701c639f0e94 /model/job.go
parentf263d2b9510fb557fe075dee5097cb32e2b1e5e2 (diff)
downloadchat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.tar.gz
chat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.tar.bz2
chat-a06830b2f88a8d374c326a1191870cbc7cf7dac2.zip
PLT-7644: Improve job scheduler architecture. (#7532)
Diffstat (limited to 'model/job.go')
-rw-r--r--model/job.go8
1 files changed, 6 insertions, 2 deletions
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)
}