28 lines
1.0 KiB
Clojure
28 lines
1.0 KiB
Clojure
(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]
|
|
[nrepl.server :refer [start-server]]
|
|
[auto-ap.background.metrics :refer [metrics-setup container-tags container-data logging-context]]
|
|
[unilog.context :as lc]
|
|
[com.brunobonacci.mulog :as mu]))
|
|
|
|
(defn execute [name f]
|
|
(try
|
|
(lc/with-context {:background-job name}
|
|
(mu/with-context {:background-job name
|
|
:service name}
|
|
(mount/start (mount/only #{#'conn #'metrics-setup #'container-tags #'logging-context #'container-data }))
|
|
(start-server :port 9000 :bind "0.0.0.0" #_#_:handler (cider-nrepl-handler))
|
|
((heartbeat f name))
|
|
(log/info "Stopping " name)
|
|
(Thread/sleep 15000)
|
|
(mount/stop)))
|
|
(catch Exception e
|
|
(log/error "ERROR" e)
|
|
(println e)
|
|
(throw e))
|
|
(finally
|
|
(System/exit 0))))
|