diff options
Diffstat (limited to 'jobs/jobserver/jobserver.go')
-rw-r--r-- | jobs/jobserver/jobserver.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/jobs/jobserver/jobserver.go b/jobs/jobserver/jobserver.go new file mode 100644 index 000000000..813676b78 --- /dev/null +++ b/jobs/jobserver/jobserver.go @@ -0,0 +1,46 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package main + +import ( + "os" + "os/signal" + "syscall" + + l4g "github.com/alecthomas/log4go" + "github.com/mattermost/platform/jobs" + "github.com/mattermost/platform/store" + "github.com/mattermost/platform/utils" + + _ "github.com/mattermost/platform/imports" +) + +var Srv jobs.JobServer + +func main() { + // Initialize + utils.InitAndLoadConfig("config.json") + defer l4g.Close() + + Srv.Store = store.NewSqlStore() + defer Srv.Store.Close() + + Srv.LoadLicense() + + // Run jobs + l4g.Info("Starting Mattermost job server") + Srv.Jobs = jobs.InitJobs(Srv.Store) + Srv.Jobs.Start() + + var signalChan chan os.Signal = make(chan os.Signal) + signal.Notify(signalChan, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) + <-signalChan + + // Cleanup anything that isn't handled by a defer statement + l4g.Info("Stopping Mattermost job server") + + Srv.Jobs.Stop() + + l4g.Info("Stopped Mattermost job server") +} |