This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-11-14
Channels
- # aleph (10)
- # announcements (2)
- # beginners (228)
- # calva (18)
- # cider (6)
- # clara (5)
- # cljdoc (25)
- # cljs-dev (22)
- # clojure (78)
- # clojure-dev (30)
- # clojure-europe (2)
- # clojure-finland (1)
- # clojure-italy (32)
- # clojure-nl (21)
- # clojure-uk (126)
- # clojurescript (34)
- # cursive (5)
- # data-science (2)
- # datascript (2)
- # datomic (26)
- # defnpodcast (1)
- # emacs (5)
- # figwheel (5)
- # figwheel-main (3)
- # fulcro (14)
- # graphql (5)
- # jobs (1)
- # keechma (4)
- # nrepl (5)
- # off-topic (35)
- # onyx (3)
- # pedestal (12)
- # random (1)
- # re-frame (35)
- # reagent (8)
- # reitit (20)
- # remote-jobs (5)
- # ring-swagger (20)
- # shadow-cljs (166)
- # sql (43)
- # vim (6)
- # yada (15)
@mccraigmccraig yes I think that i'm correctly shutting it down. Here is my server definition with integrant:
(defn create-aleph-server [aleph-config]
;; handler
;; middlewares...
;; returns aleph server
)
(defmethod ig/init-key ::aleph [_ aleph-config]
(create-aleph-server aleph-config))
(defmethod ig/halt-key! ::aleph [_ server]
(.close server))
(defmethod ig/suspend-key! ::aleph [_ server]
(.close server))
(defmethod ig/resume-key ::aleph [_key aleph-config _old-opts _old-impl]
(create-aleph-server aleph-config))
Every time I fire cider-refresh
, the server is killed and rebuilt (there is an Emacs hook with a local .dir-locals.el
file):
((nil . ((cider-ns-refresh-before-fn . "integrant.repl/suspend")
(cider-ns-refresh-after-fn . "integrant.repl/resume"))))
Also, if I'm not mistaken, cider-refresh
uses internally clojure.tools.namespace.repl/refresh
.
The weird thing is that on "simple" projects, this code works perfectly with aleph but with the heavier one (re-natal + web server + Datomic + integrant), aleph seems to get stuck randomly on dev with Spacemacs.i don't have any ideas @dam - your setup is quite different from mine. perhaps worth checking the socket is being released correctly when your server is .close
d