ABC-73 Move session clean-up to daily task (#8095)

* Move session clean-up to daily task

* Split delete query into batches
Этот коммит содержится в:
Joram Wilander
2018-01-17 08:50:49 -05:00
коммит произвёл GitHub
родитель d35d9484f4
Коммит dce0616305
5 изменённых файлов: 103 добавлений и 22 удалений

Просмотреть файл

@@ -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)
}