From 51a6e95f58abd65b454e365d45a510eefd84bfe3 Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Tue, 17 Apr 2018 17:06:55 +0200 Subject: add app shutdown to make sure the goroutines finish and all process are closed (#8629) * run the send email verification as goroutine as well * add app shutdown to make sure all go routines finish --- cmd/commands/channel.go | 9 +++++++++ cmd/commands/command.go | 1 + cmd/commands/import.go | 2 ++ cmd/commands/ldap.go | 1 + cmd/commands/license.go | 1 + cmd/commands/message_export.go | 1 + cmd/commands/reset.go | 1 + cmd/commands/roles.go | 2 ++ cmd/commands/sampledata.go | 2 ++ cmd/commands/team.go | 5 +++++ cmd/commands/user.go | 18 +++++++++++++++++- 11 files changed, 42 insertions(+), 1 deletion(-) (limited to 'cmd') diff --git a/cmd/commands/channel.go b/cmd/commands/channel.go index d7b48f04c..30d4e53ec 100644 --- a/cmd/commands/channel.go +++ b/cmd/commands/channel.go @@ -136,6 +136,7 @@ func createChannelCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() name, errn := command.Flags().GetString("name") if errn != nil || name == "" { @@ -185,6 +186,7 @@ func removeChannelUsersCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Not enough arguments.") @@ -218,6 +220,7 @@ func addChannelUsersCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Not enough arguments.") @@ -251,6 +254,7 @@ func archiveChannelsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one channel to archive.") @@ -275,6 +279,7 @@ func deleteChannelsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one channel to delete.") @@ -315,6 +320,7 @@ func moveChannelsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Enter the destination team and at least one channel to move.") @@ -389,6 +395,7 @@ func listChannelsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one team.") @@ -423,6 +430,7 @@ func restoreChannelsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one channel.") @@ -447,6 +455,7 @@ func modifyChannelCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) != 1 { return errors.New("Enter at one channel to modify.") diff --git a/cmd/commands/command.go b/cmd/commands/command.go index 0202714b6..380816644 100644 --- a/cmd/commands/command.go +++ b/cmd/commands/command.go @@ -36,6 +36,7 @@ func moveCommandCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Enter the destination team and at least one comamnd to move.") diff --git a/cmd/commands/import.go b/cmd/commands/import.go index c572ec53a..51fbb8d70 100644 --- a/cmd/commands/import.go +++ b/cmd/commands/import.go @@ -51,6 +51,7 @@ func slackImportCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) != 2 { return errors.New("Incorrect number of arguments.") @@ -86,6 +87,7 @@ func bulkImportCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() apply, err := command.Flags().GetBool("apply") if err != nil { diff --git a/cmd/commands/ldap.go b/cmd/commands/ldap.go index 6938eae28..0c79ce32b 100644 --- a/cmd/commands/ldap.go +++ b/cmd/commands/ldap.go @@ -34,6 +34,7 @@ func ldapSyncCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if ldapI := a.Ldap; ldapI != nil { job, err := ldapI.StartSynchronizeJob(true) diff --git a/cmd/commands/license.go b/cmd/commands/license.go index dce257a5d..61c8e3060 100644 --- a/cmd/commands/license.go +++ b/cmd/commands/license.go @@ -34,6 +34,7 @@ func uploadLicenseCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) != 1 { return errors.New("Enter one license file to upload") diff --git a/cmd/commands/message_export.go b/cmd/commands/message_export.go index 7162d46c2..30d9cb122 100644 --- a/cmd/commands/message_export.go +++ b/cmd/commands/message_export.go @@ -35,6 +35,7 @@ func messageExportCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if !*a.Config().MessageExportSettings.EnableExport { return errors.New("ERROR: The message export feature is not enabled") diff --git a/cmd/commands/reset.go b/cmd/commands/reset.go index e766b2206..15222acae 100644 --- a/cmd/commands/reset.go +++ b/cmd/commands/reset.go @@ -29,6 +29,7 @@ func resetCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() confirmFlag, _ := command.Flags().GetBool("confirm") if !confirmFlag { diff --git a/cmd/commands/roles.go b/cmd/commands/roles.go index bf7c39476..6d832d82a 100644 --- a/cmd/commands/roles.go +++ b/cmd/commands/roles.go @@ -44,6 +44,7 @@ func makeSystemAdminCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one user.") @@ -68,6 +69,7 @@ func makeMemberCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Enter at least one user.") diff --git a/cmd/commands/sampledata.go b/cmd/commands/sampledata.go index 910913eef..9f4db8616 100644 --- a/cmd/commands/sampledata.go +++ b/cmd/commands/sampledata.go @@ -134,6 +134,8 @@ func sampleDataCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() + seed, err := command.Flags().GetInt64("seed") if err != nil { return errors.New("Invalid seed parameter") diff --git a/cmd/commands/team.go b/cmd/commands/team.go index 05de714d6..7dcf48847 100644 --- a/cmd/commands/team.go +++ b/cmd/commands/team.go @@ -83,6 +83,7 @@ func createTeamCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() name, errn := command.Flags().GetString("name") if errn != nil || name == "" { @@ -119,6 +120,7 @@ func removeUsersCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Not enough arguments.") @@ -152,6 +154,7 @@ func addUsersCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Not enough arguments.") @@ -185,6 +188,7 @@ func deleteTeamsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Not enough arguments.") @@ -231,6 +235,7 @@ func listTeamsCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() teams, err2 := a.GetAllTeams() if err2 != nil { diff --git a/cmd/commands/user.go b/cmd/commands/user.go index 9f5e5ae0d..96e8698e5 100644 --- a/cmd/commands/user.go +++ b/cmd/commands/user.go @@ -254,12 +254,14 @@ func userActivateCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") } changeUsersActiveStatus(a, args, true) + return nil } @@ -293,12 +295,14 @@ func userDeactivateCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") } changeUsersActiveStatus(a, args, false) + return nil } @@ -307,6 +311,7 @@ func userCreateCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() username, erru := command.Flags().GetString("username") if erru != nil || username == "" { @@ -352,6 +357,7 @@ func userInviteCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 2 { return errors.New("Expected at least two arguments. See help text for details.") @@ -391,6 +397,7 @@ func resetUserPasswordCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) != 2 { return errors.New("Expected two arguments. See help text for details.") @@ -414,6 +421,7 @@ func updateUserEmailCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() newEmail := args[1] @@ -432,7 +440,7 @@ func updateUserEmailCmdF(command *cobra.Command, args []string) error { user.Email = newEmail _, errUpdate := a.UpdateUser(user, true) - if err != nil { + if errUpdate != nil { return errUpdate } @@ -444,6 +452,7 @@ func resetUserMfaCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") @@ -469,6 +478,7 @@ func deleteUserCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") @@ -510,6 +520,7 @@ func deleteAllUsersCommandF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) > 0 { return errors.New("Expected zero arguments.") @@ -536,6 +547,7 @@ func deleteAllUsersCommandF(command *cobra.Command, args []string) error { } cmd.CommandPrettyPrintln("All user accounts successfully deleted.") + return nil } @@ -551,6 +563,7 @@ func migrateAuthToLdapCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() fromAuth := args[0] matchField := args[2] @@ -587,6 +600,7 @@ func migrateAuthToSamlCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() dryRunFlag, _ := command.Flags().GetBool("dryRun") autoFlag, _ := command.Flags().GetBool("auto") @@ -642,6 +656,7 @@ func verifyUserCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") @@ -667,6 +682,7 @@ func searchUserCmdF(command *cobra.Command, args []string) error { if err != nil { return err } + defer a.Shutdown() if len(args) < 1 { return errors.New("Expected at least one argument. See help text for details.") -- cgit v1.2.3-1-g7c22