This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-12
Channels
- # announcements (1)
- # babashka (124)
- # beginners (98)
- # calva (54)
- # cider (32)
- # cljdoc (5)
- # cljs-dev (131)
- # cljsrn (1)
- # clojure (107)
- # clojure-australia (2)
- # clojure-europe (2)
- # clojure-losangeles (1)
- # clojure-norway (3)
- # clojure-uk (28)
- # clojurescript (21)
- # conjure (86)
- # core-async (7)
- # cursive (3)
- # datascript (5)
- # datomic (28)
- # defnpodcast (2)
- # devcards (1)
- # exercism (47)
- # fulcro (22)
- # graalvm (29)
- # graphql (1)
- # malli (5)
- # nrepl (31)
- # off-topic (111)
- # re-frame (23)
- # reitit (4)
- # spacemacs (6)
- # tools-deps (10)
- # tree-sitter (1)
- # xtdb (6)
Is there a good way to watch the transaction log? I've got this so far:
(doseq [tx (iterator-seq (crux/open-tx-log node 0 false))]
(prn tx))
But the iterator closes after all the transactions have been consumed. I want something similar that blocks until the next transaction is available (or returns a channel, or lets me pass in a callback function).
If there's not some kind of internal API I could use, my plan B is to set up my own queue and run all the transactions through that.Hello! Polling the last seen tx-id +1 using the above snippet in a loop with pushing a message to a channel should work. We don't expose a convenient API for this right now, but as you're the second person I've spoken to about it in the last 24hrs(!) I'll make it a priority to expose it via a new module in the coming week. It's a matter of wiring up the internal event bus to something more user friendly
Thanks!
Plus One! The change data capture flow is nice to have when your architecture is event driven + microservices
What we also asked ourselves at some point is how to tap onto the Kafka transaction topic. The use case was to aggregate and produce other topics from it.