This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-02-25
Channels
- # announcements (6)
- # asami (1)
- # babashka (80)
- # beginners (89)
- # bitcoin (1)
- # calva (30)
- # cider (33)
- # clj-kondo (1)
- # cljsrn (45)
- # clojars (5)
- # clojure (60)
- # clojure-australia (1)
- # clojure-dev (9)
- # clojure-europe (133)
- # clojure-italy (7)
- # clojure-nl (6)
- # clojure-uk (44)
- # clojurescript (11)
- # conjure (1)
- # data-oriented-programming (2)
- # datahike (13)
- # datascript (4)
- # datomic (19)
- # deps-new (29)
- # depstar (5)
- # duct (39)
- # fulcro (8)
- # girouette (1)
- # helix (10)
- # honeysql (17)
- # jobs (5)
- # jobs-discuss (2)
- # leiningen (6)
- # lsp (51)
- # malli (60)
- # meander (37)
- # membrane (8)
- # off-topic (31)
- # overtone (3)
- # pathom (36)
- # re-frame (8)
- # reagent (30)
- # remote-jobs (2)
- # sci (1)
- # sql (32)
- # startup-in-a-month (3)
- # testing (3)
- # tools-deps (7)
- # xtdb (7)
Hi there, I have a question - I have marked my components with duct/server
but then duct/exec
receives duct/daemon
...does duct/server
derive from duct/daemon
?
Asking because it actually does not seem to launch my servers...if I read the README right it says that they are interchangeable
thank @UG9U7TPDZ what if I don't have that file? probably that's were the problem is...
Using lein run
you should have it. Also if you're creating an uberjar you need ["run" ":duct/compiler"]
in your prep-tasks
I think you need the duct middleware in your project.clj
:middleware [lein-duct.plugin/middleware]
uhm ok - I am using deps.edn
but that's ok - I somehow assumed by the README that the derivation was implicit - thanks again!
If you're using deps.edn
then you need to do some extra stuff it get it to work. Haven't done it myself but this should help https://github.com/duct-framework/duct/issues/92
One thing I am a bit unfamiliar is the concept of derivation vs composite keys...
If I have something like this in config.edn
: [:duct.server/http :infra2.server/pedestal]
Would that be automatically started?
Cause I am getting a No method in multimethod 'init-key' for dispatch value: :integrant.composite/duct.server.http+infra2.server.pedestal_5851
Do I need to explicitely require the namespaces from my main.clj
?
Basically the way that it works is that a new keyword is created and derived from all the keywords in the vector. https://github.com/weavejester/integrant/blob/b4f77b0fe9618c5d65bf2cafd27510e8e6ba7cdd/src/integrant/core.cljc#L15-L26
Duct will try to find an init-key for either keywords, and if it can find 1 it'll initialize it
yep I have that one in place the only missing thing is that it is not required in the main
namespace
no for prod..
(sorry I inherited this code base and trying to understand the various moving parts also)
If the namespace is either: infra2.server.pedestal
or infra2.server
it will automatically be required
But if the namespace has a completely different name, it won't be required automatically
yeah it's exactly infra2.server
containing a ::pedestal
key...strange I got that error
uhm let me try that then
I am trying with [:duct/daemon :infra2.server/pedestal]
No method in multimethod 'init-key' for dispatch value: :integrant.composite/duct.daemon+infra2.server.pedestal_5854
very weird...I'll have to dig into the code base
well in that piece of code I can't see how composite keys are required..
anyways I'll dig...thanks a lot for your help
uhm ok - I am using deps.edn
but that's ok - I somehow assumed by the README that the derivation was implicit - thanks again!