(ns metabase.session.task.session-cleanup (:require [clojurewerkz.quartzite.jobs :as jobs] [clojurewerkz.quartzite.schedule.cron :as cron] [clojurewerkz.quartzite.triggers :as triggers] [metabase.session.models.session :as session] [metabase.task :as task])) | |
(set! *warn-on-reflection* true) | |
(def ^:private session-cleanup-job-key (jobs/key "metabase.task.session-cleanup.job")) (def ^:private session-cleanup-trigger-key (triggers/key "metabase.task.session-cleanup.trigger")) | |
Job that cleans up outdated sessions. | (jobs/defjob SessionCleanup [_] (session/cleanup-sessions!)) |
(defmethod task/init! ::SessionCleanup [_] (let [job (jobs/build (jobs/of-type SessionCleanup) (jobs/with-identity session-cleanup-job-key)) trigger (triggers/build (triggers/with-identity session-cleanup-trigger-key) (triggers/start-now) (triggers/with-schedule ;; run once a day (cron/cron-schedule "0 0 2 * * ? *")))] (task/schedule-task! job trigger))) | |