some start/stop web adjustments. ensure shutdown-server is run on close
note that using addShutdownHook like this will not work in a REPL or even using `lein run`, though for the latter `lein trampoline run` will work instead
This commit is contained in:
parent
8859432b7d
commit
3978fda02a
|
@ -40,8 +40,11 @@
|
||||||
(defn shutdown
|
(defn shutdown
|
||||||
[]
|
[]
|
||||||
(log/info "Shutting down ...")
|
(log/info "Shutting down ...")
|
||||||
|
|
||||||
(views/shutdown!)
|
(views/shutdown!)
|
||||||
(sente/init!))
|
(sente/shutdown!)
|
||||||
|
|
||||||
|
(log/info "Application stopped."))
|
||||||
|
|
||||||
(defn wrap-env-middleware
|
(defn wrap-env-middleware
|
||||||
[handler]
|
[handler]
|
||||||
|
@ -61,16 +64,23 @@
|
||||||
(sente/wrap-sente "/chsk")
|
(sente/wrap-sente "/chsk")
|
||||||
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
|
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
|
||||||
|
|
||||||
(defn run-server
|
(defn start-server!
|
||||||
[]
|
[]
|
||||||
(init)
|
(init)
|
||||||
(immutant/run #'handler {:port 8080}))
|
(immutant/run
|
||||||
|
#'handler
|
||||||
|
(merge
|
||||||
|
{:port 8080
|
||||||
|
:host "localhost"
|
||||||
|
:path "/"
|
||||||
|
:virtual-host nil
|
||||||
|
:dispatch? true}
|
||||||
|
(config/get :web))))
|
||||||
|
|
||||||
(defn stop-server
|
(defn stop-server!
|
||||||
[]
|
[]
|
||||||
(immutant/stop)
|
(if (immutant/stop)
|
||||||
(shutdown))
|
(shutdown)))
|
||||||
|
|
||||||
|
|
||||||
(defn -main
|
(defn -main
|
||||||
[& args]
|
[& args]
|
||||||
|
@ -80,7 +90,9 @@
|
||||||
(db/verify-connection)
|
(db/verify-connection)
|
||||||
(case action
|
(case action
|
||||||
:web
|
:web
|
||||||
(run-server)
|
(do
|
||||||
|
(start-server!)
|
||||||
|
(.addShutdownHook (Runtime/getRuntime) (Thread. ^Runnable stop-server!)))
|
||||||
|
|
||||||
:setup-db
|
:setup-db
|
||||||
(db/initialize-database!)
|
(db/initialize-database!)
|
||||||
|
|
Loading…
Reference in a new issue