From c36e85c9126b921cf00e578ac70c1f1ee0153abd Mon Sep 17 00:00:00 2001 From: Daniel Schalla Date: Wed, 10 Oct 2018 19:55:12 +0200 Subject: 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 --- jobs/interfaces/plugins_interface.go | 11 +++++++++++ jobs/schedulers.go | 4 ++++ jobs/server.go | 1 + jobs/workers.go | 5 +++++ 4 files changed, 21 insertions(+) create mode 100644 jobs/interfaces/plugins_interface.go (limited to 'jobs') 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 } -- cgit v1.2.3-1-g7c22