summaryrefslogtreecommitdiffstats
path: root/jobs/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'jobs/server.go')
-rw-r--r--jobs/server.go32
1 files changed, 25 insertions, 7 deletions
diff --git a/jobs/server.go b/jobs/server.go
index 777b02a26..9a59fad3f 100644
--- a/jobs/server.go
+++ b/jobs/server.go
@@ -12,11 +12,25 @@ import (
"github.com/mattermost/mattermost-server/utils"
)
+type ConfigService interface {
+ Config() *model.Config
+ AddConfigListener(func(old, current *model.Config)) string
+ RemoveConfigListener(string)
+}
+
+type StaticConfigService struct {
+ Cfg *model.Config
+}
+
+func (s StaticConfigService) Config() *model.Config { return s.Cfg }
+func (StaticConfigService) AddConfigListener(func(old, current *model.Config)) string { return "" }
+func (StaticConfigService) RemoveConfigListener(string) {}
+
type JobServer struct {
- Config model.ConfigFunc
- Store store.Store
- Workers *Workers
- Schedulers *Schedulers
+ ConfigService ConfigService
+ Store store.Store
+ Workers *Workers
+ Schedulers *Schedulers
DataRetentionJob ejobs.DataRetentionJobInterface
MessageExportJob ejobs.MessageExportJobInterface
@@ -25,13 +39,17 @@ type JobServer struct {
LdapSync ejobs.LdapSyncInterface
}
-func NewJobServer(config model.ConfigFunc, store store.Store) *JobServer {
+func NewJobServer(configService ConfigService, store store.Store) *JobServer {
return &JobServer{
- Config: config,
- Store: store,
+ ConfigService: configService,
+ Store: store,
}
}
+func (srv *JobServer) Config() *model.Config {
+ return srv.ConfigService.Config()
+}
+
func (srv *JobServer) LoadLicense() {
licenseId := ""
if result := <-srv.Store.System().Get(); result.Err == nil {