diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-01-17 08:50:49 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-17 08:50:49 -0500 |
commit | dce061630530c467966378ae3c5adbcf4a09e34f (patch) | |
tree | d737d8cb27d19036163c7ab445327462a911641c /cmd/platform | |
parent | d35d9484f4918f8f6fc3d48a74ede7eb6db33b7b (diff) | |
download | chat-dce061630530c467966378ae3c5adbcf4a09e34f.tar.gz chat-dce061630530c467966378ae3c5adbcf4a09e34f.tar.bz2 chat-dce061630530c467966378ae3c5adbcf4a09e34f.zip |
ABC-73 Move session clean-up to daily task (#8095)
* Move session clean-up to daily task
* Split delete query into batches
Diffstat (limited to 'cmd/platform')
-rw-r--r-- | cmd/platform/server.go | 17 |
1 files changed, 16 insertions, 1 deletions
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) +} |