This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # aws (1)
- # bangalore-clj (9)
- # boot (97)
- # capetown (1)
- # cider (4)
- # clara (1)
- # cljs-dev (2)
- # cljsrn (109)
- # clojure (258)
- # clojure-finland (3)
- # clojure-greece (2)
- # clojure-italy (1)
- # clojure-russia (33)
- # clojure-spec (41)
- # clojure-uk (46)
- # clojurescript (57)
- # component (17)
- # core-async (6)
- # datomic (13)
- # devcards (10)
- # dirac (2)
- # euroclojure (1)
- # figwheel (1)
- # funcool (1)
- # hoplon (472)
- # luminus (17)
- # off-topic (1)
- # om (16)
- # onyx (40)
- # pedestal (14)
- # proton (12)
- # re-frame (27)
- # reagent (15)
- # ring-swagger (2)
- # specter (5)
- # testing (4)
- # untangled (258)
- # vim (4)
@michaeldrogalis, fwiw my optimism about pre-compiling
onyx-local-rt for the tutorial is now somewhat tempered. Turns out the approach I thought could significantly reduce the downloaded JS asset size (and yield better perceived UI responsiveness) leads to a catch-22 with cljs compiler optimizations. Will explore the Klipse-based approach next.
Here's a super-bare-bones pre-compiled runtime example. https://colinhicks.github.io/onyx-tutorial-ideas/resources/public/index.html
@colinhicks cool. Looks good, especially because changing the function seems to work nicely 🙂
I'm thinking the tutorial will be centered around leveraging Onyx's data-driven API. So, apart from creating/editing user-defined functions, tutorial-takers will mostly be manipulating data structures.
For a given data structure, we can run Onyx's validations independently to say for example: "Your workflow has cycles. Currently Onyx supports only directed acyclic graphs."
@michaeldrogalis @lucasbradstreet et al. , I'm going to integrate a react lib next. What is your preference between om.next/rum/reagent?
Been a while since I looked at Franzy, but I think you need to commit and acknowledge the records you polled for if you have that turned on
I would think that if I didn't commit an offset if would read from the beginning again. I'll give that a try. Not a whole lot of docs around this part just lots of mentions that he uses core.async and manifold but doesn't say how.
@kingoftheknoll You might want to try Kinsky, we haven't seen the maintainer of Franzy around for a long time, not sure where he went - https://github.com/pyr/kinsky
Fortunately we dont have to touch the Kafka code all that much, but if I were using Kafka for application level code, I probably wouldnt use it tbh.
@kingoftheknoll Do you see "Got a value in this loop" at all from the channel consuming loop?
(when (seq records) (>! channel (first records)) (recur (rest records)))) ;;-> will this ever terminate? If it doesn't respond to (seq records), your else clause might be hanging up here?...
The records is not a list or vector but it appears it implements ISeq. I’ll have to dig into it more. I’m not hard set on using Franzy so I’ll check out kinsky as well.
Thanks for helping out. Onyx is the only library I know of that publicly uses kafka so I really appreciate it. BTW love Onyx and the work you’re doing. I can’t wait to use it for something!
I’m slowly working on adding a “how to write aggregations” lesson for learn-onyx. My hope is to have it culminate in writing a simple anomaly aggregation function similar to what https://flink.apache.org/news/2016/04/06/cep-monitoring.html does. Hopefully the last piece of the puzzle i need in order to create a rough draft of this is to understand what these log functions do
(defn set-value-aggregation-apply-log [window state v] ;; Log command is not needed for single transition type v)
probably should read over this… http://www.onyxplatform.org/docs/user-guide/0.9.11/#aggregation-state-management
FYI I fixed the colorization of code examples in the User Guide. Forgot a
gem install along the way.