diff options
author | Jesse Hallam <jesse.hallam@gmail.com> | 2018-08-09 05:04:49 -0400 |
---|---|---|
committer | Carlos Tadeu Panato Junior <ctadeu@gmail.com> | 2018-08-09 11:04:49 +0200 |
commit | 7649488a268f74c21524ab440411eac0a35b26e2 (patch) | |
tree | 8abdeeea9ffc1fce97e42709dd78dd2213da0330 /cmd/mattermost | |
parent | 5fbec91c35d7ea5d9b920b26a01fc21da55bb08e (diff) | |
download | chat-7649488a268f74c21524ab440411eac0a35b26e2.tar.gz chat-7649488a268f74c21524ab440411eac0a35b26e2.tar.bz2 chat-7649488a268f74c21524ab440411eac0a35b26e2.zip |
MM-11637: avoid stopping unstarted jobs (#9240)
The new locking primitives in 5.2 around jobs assume the
worker/scheduler was actually started, so don't try to stop if not
started.
Diffstat (limited to 'cmd/mattermost')
-rw-r--r-- | cmd/mattermost/commands/jobserver.go | 9 | ||||
-rw-r--r-- | cmd/mattermost/commands/server.go | 5 |
2 files changed, 6 insertions, 8 deletions
diff --git a/cmd/mattermost/commands/jobserver.go b/cmd/mattermost/commands/jobserver.go index 43a21d61f..253ada932 100644 --- a/cmd/mattermost/commands/jobserver.go +++ b/cmd/mattermost/commands/jobserver.go @@ -41,11 +41,15 @@ func jobserverCmdF(command *cobra.Command, args []string) { // Run jobs mlog.Info("Starting Mattermost job server") + defer mlog.Info("Stopped Mattermost job server") + if !noJobs { a.Jobs.StartWorkers() + defer a.Jobs.StopWorkers() } if !noSchedule { a.Jobs.StartSchedulers() + defer a.Jobs.StopSchedulers() } signalChan := make(chan os.Signal, 1) @@ -54,9 +58,4 @@ func jobserverCmdF(command *cobra.Command, args []string) { // Cleanup anything that isn't handled by a defer statement mlog.Info("Stopping Mattermost job server") - - a.Jobs.StopSchedulers() - a.Jobs.StopWorkers() - - mlog.Info("Stopped Mattermost job server") } diff --git a/cmd/mattermost/commands/server.go b/cmd/mattermost/commands/server.go index 1c33505f5..0b7ef009c 100644 --- a/cmd/mattermost/commands/server.go +++ b/cmd/mattermost/commands/server.go @@ -181,9 +181,11 @@ func runServer(configFileLocation string, disableConfigWatch bool, usedPlatform if *a.Config().JobSettings.RunJobs { a.Jobs.StartWorkers() + defer a.Jobs.StopWorkers() } if *a.Config().JobSettings.RunScheduler { a.Jobs.StartSchedulers() + defer a.Jobs.StopSchedulers() } notifyReady() @@ -201,9 +203,6 @@ func runServer(configFileLocation string, disableConfigWatch bool, usedPlatform a.Metrics.StopServer() } - a.Jobs.StopSchedulers() - a.Jobs.StopWorkers() - return nil } |