Skip to content
Snippets Groups Projects
Commit 2f28add9 authored by Simon Belak's avatar Simon Belak
Browse files

add cleanup task

parent c4708ae0
No related branches found
No related tags found
No related merge requests found
(ns metabase.task.cleanup-temporary-computation-job-results
"Tasks "
(:require [clj-time.core :as t]
[clojurewerkz.quartzite
[jobs :as jobs]
[triggers :as triggers]]
[clojurewerkz.quartzite.schedule.daily-interval :as interval]
[metabase.task :as task]
[toucan.db :as db]))
(def ^:private temporary-result-lifetime (t/minutes 1))
(defn- cleanup-temporary-results!
[]
(db/delete! 'ComputationJobResult
:created_at [:< (-> (t/now)
(t/minus temporary-result-lifetime)
str)]))
(def ^:private ^:const cleanup-job-key "metabase.task.cleanup-temporary-computation-job-results.job")
(def ^:private ^:const cleanup-trigger-key "metabase.task.cleanup-temporary-computation-job-results.trigger")
(jobs/defjob Cleanup
[ctx]
(cleanup-temporary-results!))
(defonce ^:private cleanup-job (atom nil))
(defonce ^:private cleanup-trigger (atom nil))
(defn task-init
"Automatically called during startup; start the job for sending pulses."
[]
(reset! cleanup-job (jobs/build
(jobs/of-type Cleanup)
(jobs/with-identity (jobs/key cleanup-job-key))))
(reset! cleanup-trigger (triggers/build
(triggers/with-identity
(triggers/key cleanup-trigger-key))
(triggers/start-now)
(triggers/with-schedule
;; once per day at 3AM
(interval/schedule
(interval/starting-daily-at
(interval/time-of-day 03 00 00))))))
(task/schedule-task! @cleanup-job @cleanup-trigger))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment