From 577ed27f1bb060080d311342047e31943a02ccbb Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Thu, 18 May 2017 15:05:57 -0400 Subject: PLT-6408 Framework for job server (#6404) * Added initial job server * Added job server to be ran as part of platform * Added test job to the enterprise repo * Fixed job server not loading license * Renamed job package to jobs * Fixed TE not being buildable * Added JobStatus table to database * Changed fields used by JobStatus * Added APIs to query job status * Added config change listener to server * Added option to run job server from Makefile * Added ability to enable/disable jobs from config * Commented out placeholder for search indexing job * Fixed govet * Removed debug messages and fixed job api init message --- cmd/platform/init.go | 19 +------------------ cmd/platform/mattermost.go | 5 +++-- cmd/platform/server.go | 7 ++++++- 3 files changed, 10 insertions(+), 21 deletions(-) (limited to 'cmd') diff --git a/cmd/platform/init.go b/cmd/platform/init.go index 7d01eb890..b650cf2fd 100644 --- a/cmd/platform/init.go +++ b/cmd/platform/init.go @@ -1,29 +1,12 @@ package main import ( - "fmt" - "github.com/mattermost/platform/app" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" "github.com/spf13/cobra" ) -func doLoadConfig(filename string) (err string) { - defer func() { - if r := recover(); r != nil { - err = fmt.Sprintf("%v", r) - } - }() - utils.TranslationsPreInit() - utils.EnableConfigFromEnviromentVars() - utils.LoadConfig(filename) - utils.InitializeConfigWatch() - utils.EnableConfigWatch() - - return "" -} - func initDBCommandContextCobra(cmd *cobra.Command) error { config, err := cmd.Flags().GetString("config") if err != nil { @@ -35,7 +18,7 @@ func initDBCommandContextCobra(cmd *cobra.Command) error { } func initDBCommandContext(configFileLocation string) { - if errstr := doLoadConfig(configFileLocation); errstr != "" { + if errstr := utils.InitAndLoadConfig(configFileLocation); errstr != "" { return } diff --git a/cmd/platform/mattermost.go b/cmd/platform/mattermost.go index a95825b55..1646faf85 100644 --- a/cmd/platform/mattermost.go +++ b/cmd/platform/mattermost.go @@ -14,6 +14,9 @@ import ( // Plugins _ "github.com/mattermost/platform/model/gitlab" + // Enterprise Imports + _ "github.com/mattermost/platform/imports" + // Enterprise Deps _ "github.com/dgryski/dgoogauth" _ "github.com/go-ldap/ldap" @@ -26,8 +29,6 @@ import ( _ "gopkg.in/olivere/elastic.v5" ) -//ENTERPRISE_IMPORTS - func main() { if err := rootCmd.Execute(); err != nil { os.Exit(1) diff --git a/cmd/platform/server.go b/cmd/platform/server.go index cb1530951..9846f8de9 100644 --- a/cmd/platform/server.go +++ b/cmd/platform/server.go @@ -14,6 +14,7 @@ import ( "github.com/mattermost/platform/api4" "github.com/mattermost/platform/app" "github.com/mattermost/platform/einterfaces" + "github.com/mattermost/platform/jobs" "github.com/mattermost/platform/manualtesting" "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" @@ -43,7 +44,7 @@ func runServerCmd(cmd *cobra.Command, args []string) error { } func runServer(configFileLocation string) { - if errstr := doLoadConfig(configFileLocation); errstr != "" { + if errstr := utils.InitAndLoadConfig(configFileLocation); errstr != "" { l4g.Exit("Unable to load mattermost configuration file: ", errstr) return } @@ -120,6 +121,8 @@ func runServer(configFileLocation string) { } } + jobs := jobs.InitJobs(app.Srv.Store).Start() + // wait for kill signal before attempting to gracefully shutdown // the running service c := make(chan os.Signal) @@ -134,6 +137,8 @@ func runServer(configFileLocation string) { einterfaces.GetMetricsInterface().StopServer() } + jobs.Stop() + app.StopServer() } -- cgit v1.2.3-1-g7c22