diff options
author | Daniel Schalla <daniel@schalla.me> | 2018-10-10 19:55:12 +0200 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2018-10-10 10:55:12 -0700 |
commit | c36e85c9126b921cf00e578ac70c1f1ee0153abd (patch) | |
tree | 86bfea62ec6a1ce0edc548db4a87851c41e30b88 /jobs | |
parent | bd04d7f75698c7b68434199208dc469021b823c2 (diff) | |
download | chat-c36e85c9126b921cf00e578ac70c1f1ee0153abd.tar.gz chat-c36e85c9126b921cf00e578ac70c1f1ee0153abd.tar.bz2 chat-c36e85c9126b921cf00e578ac70c1f1ee0153abd.zip |
DeleteAll for KV (#9431)
Expire K/V Values
Regenerate Code
pathfix
Update Expiry on Update
Check for Exit Signal
gofmt
Rewrote Go Routine
Remove tempoarily cleanup loop
fix expiretime
TEST: Expired Watchdog as GoRoutine
Check if Srv is nil
Use Scheduler/Worker for Expired Key CleanUp
add license
fix scheduler job type; DoJob Restructuring
Remove unused imports and constants
move db migration from 5.4 to 5.5
Diffstat (limited to 'jobs')
-rw-r--r-- | jobs/interfaces/plugins_interface.go | 11 | ||||
-rw-r--r-- | jobs/schedulers.go | 4 | ||||
-rw-r--r-- | jobs/server.go | 1 | ||||
-rw-r--r-- | jobs/workers.go | 5 |
4 files changed, 21 insertions, 0 deletions
diff --git a/jobs/interfaces/plugins_interface.go b/jobs/interfaces/plugins_interface.go new file mode 100644 index 000000000..4d67129af --- /dev/null +++ b/jobs/interfaces/plugins_interface.go @@ -0,0 +1,11 @@ +// Copyright (c) 2018-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package interfaces + +import "github.com/mattermost/mattermost-server/model" + +type PluginsJobInterface interface { + MakeWorker() model.Worker + MakeScheduler() model.Scheduler +} diff --git a/jobs/schedulers.go b/jobs/schedulers.go index 37a64bc22..b0cb92fc5 100644 --- a/jobs/schedulers.go +++ b/jobs/schedulers.go @@ -56,6 +56,10 @@ func (srv *JobServer) InitSchedulers() *Schedulers { schedulers.schedulers = append(schedulers.schedulers, migrationsInterface.MakeScheduler()) } + if pluginsInterface := srv.Plugins; pluginsInterface != nil { + schedulers.schedulers = append(schedulers.schedulers, pluginsInterface.MakeScheduler()) + } + schedulers.nextRunTimes = make([]*time.Time, len(schedulers.schedulers)) return schedulers } diff --git a/jobs/server.go b/jobs/server.go index 80c48a165..06897e43a 100644 --- a/jobs/server.go +++ b/jobs/server.go @@ -23,6 +23,7 @@ type JobServer struct { ElasticsearchIndexer ejobs.ElasticsearchIndexerInterface LdapSync ejobs.LdapSyncInterface Migrations tjobs.MigrationsJobInterface + Plugins tjobs.PluginsJobInterface } func NewJobServer(configService configservice.ConfigService, store store.Store) *JobServer { diff --git a/jobs/workers.go b/jobs/workers.go index ad457ed2a..f06809945 100644 --- a/jobs/workers.go +++ b/jobs/workers.go @@ -22,6 +22,7 @@ type Workers struct { ElasticsearchAggregation model.Worker LdapSync model.Worker Migrations model.Worker + Plugins model.Worker listenerId string } @@ -56,6 +57,10 @@ func (srv *JobServer) InitWorkers() *Workers { workers.Migrations = migrationsInterface.MakeWorker() } + if pluginsInterface := srv.Plugins; pluginsInterface != nil { + workers.Migrations = pluginsInterface.MakeWorker() + } + return workers } |