(ns auto-ap.server (:require #_[auto-ap.background.mail :refer [always-process-sqs]] [auto-ap.handler :refer [app]] [auto-ap.ledger] [auto-ap.yodlee.core] [auto-ap.background.invoices] [auto-ap.square.core] [auto-ap.datomic.migrate] [auto-ap.yodlee.import] [nrepl.server :refer [start-server stop-server]] [config.core :refer [env]] [ring.adapter.jetty :refer [run-jetty]] [clojure.tools.logging :as log] [unilog.config] [mount.core :as mount]) (:gen-class)) (defn add-shutdown-hook! [^Runnable f] (.addShutdownHook (Runtime/getRuntime) (Thread. f))) (mount/defstate port :start (Integer/parseInt (or (env :port) "3000"))) (mount/defstate jetty :start (run-jetty app {:port port :join? false}) :stop (.stop jetty)) (defn shutdown-mount [] (mount/stop)) (defn -main [& args] (add-shutdown-hook! shutdown-mount) (start-server :port 9000 :bind "0.0.0.0" #_#_:handler (cider-nrepl-handler)) (mount/start))