This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-07-15
Channels
- # aleph (8)
- # architecture (8)
- # babashka (26)
- # beginners (20)
- # calva (14)
- # clojure (6)
- # clojure-dev (28)
- # clojure-europe (39)
- # clojure-france (2)
- # clojure-korea (3)
- # clojure-losangeles (2)
- # clojure-nl (2)
- # clojure-norway (9)
- # clojure-uk (7)
- # clojurescript (10)
- # clr (1)
- # cursive (22)
- # data-science (19)
- # datomic (16)
- # jobs-discuss (2)
- # leiningen (3)
- # off-topic (10)
- # polylith (4)
- # reitit (2)
- # releases (1)
- # ring (10)
- # uncomplicate (1)
- # xtdb (6)
Jeg sitter og pusler med en app som skal konsumere en kafka-kø og så lagre data i en database, og endte opp med å fundere på “callback vs kø“. Altså burde jeg sende inn en handler i kafka-klientkoden, eller burde klientkoden levere ut en kø som andre ting kan lese fra.
Pusleren i meg syns jo det hadde vært gøy med en kø, men rent praktisk tenker jeg at en handler er det enkleste.
Så spørsmålet mitt er kanskje om noen har noen gode eksempler på situasjoner hvor en kø faktisk er nyttig?
jeg ville vel nok bare sendt inn en callback, om eneste behovet du har er “kjør koden min når jeg får en melding”. Så kan man eventuelt se på å ta ting igjennom en core.async
channel om du skal vente på N meldinger, batch-prosessere, lytte på mere enn én kø, osv osv
Kanskje prøv begge deler, så kan du slette løsningen du liker minst etterpå? (Hvis det er tid og rom til sånt) > Pusleren i meg syns jo det hadde vært gøy med en kø, men rent praktisk tenker jeg at en handler er det enkleste. Jeg kjenner meg igjen 🙂 • Jeg kan overkomplisere ting hvis jeg ikke passer meg • MEN hvis jeg aldri prøver å gjøre ting på nye måter, lærer jeg ingenting. For meg løser “prøv litt forskjellig, så slett eksperimenteringen før du merger” litt opp i den floken. Synes Peter Seibel skriver godt om eksperimentering her: https://gigamonkeys.com/flowers/

Skal sies at jeg har prøvd begge og heller mot callbacks ettersom jeg ikke tror jeg har de behovene som @U0MKRS1FXnevner, men tenkte at det kan jo være noe langsiktig nytte med køer som jeg ikke ser så tidlig i prosjektet. Men når det er sagt så kan jo køer være enkle nok å bolte på senere i prosjektet hvis det viser seg å være nødvendig!
om du går for callback er det ikke mye jobb å gjøre det sånn at det eneste callbacket gjør er å putte en melding på en channel 🙂