mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
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
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user