More background task cleanup
This commit is contained in:
18
src/clj/auto_ap/jobs/core.clj
Normal file
18
src/clj/auto_ap/jobs/core.clj
Normal file
@@ -0,0 +1,18 @@
|
||||
(ns auto-ap.jobs.core
|
||||
(:require [auto-ap.utils :refer [heartbeat]]
|
||||
[mount.core :as mount]
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[clojure.tools.logging :as log]
|
||||
[auto-ap.background.metrics :refer [metrics-setup container-tags container-data logging-context]]
|
||||
[unilog.context :as lc]))
|
||||
|
||||
(defn execute [name f]
|
||||
(try
|
||||
(lc/with-context {:background-job name}
|
||||
(mount/start (mount/only #{#'conn #'metrics-setup #'container-tags #'logging-context #'container-data}))
|
||||
((heartbeat f name))
|
||||
(mount/stop)
|
||||
(log/info "Stopping " name)
|
||||
(Thread/sleep 15000))
|
||||
(finally
|
||||
(System/exit 0))))
|
||||
Reference in New Issue
Block a user