summaryrefslogtreecommitdiffstats
path: root/cmd/platform
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-01-17 08:50:49 -0500
committerGitHub <noreply@github.com>2018-01-17 08:50:49 -0500
commitdce061630530c467966378ae3c5adbcf4a09e34f (patch)
treed737d8cb27d19036163c7ab445327462a911641c /cmd/platform
parentd35d9484f4918f8f6fc3d48a74ede7eb6db33b7b (diff)
downloadchat-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.go17
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)
+}