diff --git a/tasks/exec.go b/tasks/exec.go index d4cf721ebc123d68fbd433fd8b693ad020ad4fcd..d89f5eb2ae57dfec25d1de9365dc8abd17df5e11 100644 --- a/tasks/exec.go +++ b/tasks/exec.go @@ -10,6 +10,7 @@ import ( "github.com/turt2live/matrix-media-repo/database" "github.com/turt2live/matrix-media-repo/notifier" "github.com/turt2live/matrix-media-repo/tasks/task_runner" + "github.com/turt2live/matrix-media-repo/util" "github.com/turt2live/matrix-media-repo/util/ids" ) @@ -61,6 +62,13 @@ func beginTask(task *database.DbTask) { } // TODO: Worker group: https://github.com/turt2live/matrix-media-repo/issues/425 runnerCtx := rcontext.Initial().LogWithFields(logrus.Fields{"task_id": task.TaskId}) + + oneHourAgo := util.NowMillis() - (60 * 60 * 1000) + if task.StartTs < oneHourAgo { + runnerCtx.Log.Warn("Not starting task because it is more than 1 hour old.") + return + } + if task.Name == string(TaskDatastoreMigrate) { go task_runner.DatastoreMigrate(runnerCtx, task) } else if task.Name == string(TaskExportData) {