From dce061630530c467966378ae3c5adbcf4a09e34f Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 17 Jan 2018 08:50:49 -0500 Subject: ABC-73 Move session clean-up to daily task (#8095) * Move session clean-up to daily task * Split delete query into batches --- cmd/platform/server.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'cmd/platform') diff --git a/cmd/platform/server.go b/cmd/platform/server.go index e36abdaf9..0c23b5f27 100644 --- a/cmd/platform/server.go +++ b/cmd/platform/server.go @@ -21,6 +21,10 @@ import ( "github.com/spf13/cobra" ) +const ( + SESSIONS_CLEANUP_BATCH_SIZE = 1000 +) + var MaxNotificationsPerChannelDefault int64 = 1000000 var serverCmd = &cobra.Command{ @@ -120,7 +124,7 @@ func runServer(configFileLocation string, disableConfigWatch bool) { go runSecurityJob(a) go runDiagnosticsJob(a) - + go runSessionCleanupJob(a) go runTokenCleanupJob(a) go runCommandWebhookCleanupJob(a) @@ -198,6 +202,13 @@ func runCommandWebhookCleanupJob(a *app.App) { }, time.Hour*1) } +func runSessionCleanupJob(a *app.App) { + doSessionCleanup(a) + model.CreateRecurringTask("Session Cleanup", func() { + doSessionCleanup(a) + }, time.Hour*24) +} + func resetStatuses(a *app.App) { if result := <-a.Srv.Store.Status().ResetAll(); result.Err != nil { l4g.Error(utils.T("mattermost.reset_status.error"), result.Err.Error()) @@ -221,3 +232,7 @@ func doTokenCleanup(a *app.App) { func doCommandWebhookCleanup(a *app.App) { a.Srv.Store.CommandWebhook().Cleanup() } + +func doSessionCleanup(a *app.App) { + a.Srv.Store.Session().Cleanup(model.GetMillis(), SESSIONS_CLEANUP_BATCH_SIZE) +} -- cgit v1.2.3-1-g7c22