From 0eba6fed2e65aee71d5ed2aa65ba200d9af566d5 Mon Sep 17 00:00:00 2001 From: Ivan Grishaev Date: Tue, 26 Dec 2017 19:21:08 +0300 Subject: [PATCH] 193 start-end pairs added --- src/clj/commiteth/config.clj | 8 +++++++- src/clj/commiteth/core.clj | 16 +++++++++++----- src/clj/commiteth/db/core.clj | 13 +++++++++---- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/clj/commiteth/config.clj b/src/clj/commiteth/config.clj index 9a284f2..9e76f7c 100644 --- a/src/clj/commiteth/config.clj +++ b/src/clj/commiteth/config.clj @@ -1,10 +1,16 @@ (ns commiteth.config (:require [cprop.core :refer [load-config]] [cprop.source :as source] - [mount.core :refer [args defstate]])) + [mount.core :refer [args defstate] :as mount])) (defstate env :start (load-config :merge [(args) (source/from-system-props) (source/from-env)])) + +(defn start! [] + (mount/start #'env)) + +(defn stop! [] + (mount/stop #'env)) diff --git a/src/clj/commiteth/core.clj b/src/clj/commiteth/core.clj index e617708..352bf1f 100644 --- a/src/clj/commiteth/core.clj +++ b/src/clj/commiteth/core.clj @@ -16,17 +16,23 @@ :parse-fn #(Integer/parseInt %)]]) (mount/defstate -http-server + http-server :start (http/start - (-> env - (assoc :handler (handler/app)) - (update :port #(or (-> env :options :port) %)))) + (-> env + (assoc :handler (handler/app)) + (update :port #(or (-> env :options :port) %)))) :stop (http/stop http-server)) +(defn start! [] + (mount/start #'http-server)) + +(defn stop! [] + (mount/stop #'http-server)) + (mount/defstate ^{:on-reload :noop} -repl-server + repl-server :start (when-let [nrepl-port (env :nrepl-port)] (log/info "Starting NREPL server on port" nrepl-port) diff --git a/src/clj/commiteth/db/core.clj b/src/clj/commiteth/db/core.clj index a33f2e0..162c418 100644 --- a/src/clj/commiteth/db/core.clj +++ b/src/clj/commiteth/db/core.clj @@ -4,7 +4,7 @@ [clojure.java.jdbc :as jdbc] [conman.core :as conman] [commiteth.config :refer [env]] - [mount.core :refer [defstate]] + [mount.core :refer [defstate] :as mount] [migratus.core :as migratus] [mpg.core :as mpg] [clojure.string :as str]) @@ -20,21 +20,26 @@ (mpg/patch) -(defn start [] +(defn db-start [] (let [db (env :jdbc-database-url) migratus-config {:store :database :migration-dir "migrations/" :migration-table-name "schema_migrations" :db db}] (migratus/migrate migratus-config) - (conman/bind-connection db "sql/queries.sql") (conman/connect! {:jdbc-url db}) db)) (defstate ^:dynamic *db* - :start (start) + :start (db-start) :stop (conman/disconnect! *db*)) +(defn start! [] + (mount/start #'*db*)) + +(defn stop! [] + (mount/stop #'*db*)) + (conman/bind-connection *db* "sql/queries.sql") (defn to-date [^java.sql.Date sql-date]