This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-12-21
Channels
- # adventofcode (27)
- # announcements (2)
- # babashka (1)
- # beginners (111)
- # calva (11)
- # cider (82)
- # clara (6)
- # clojure (44)
- # clojure-dev (5)
- # clojure-europe (27)
- # clojure-nl (5)
- # clojure-spec (3)
- # clojure-uk (3)
- # clojurescript (29)
- # core-async (5)
- # cursive (4)
- # datalevin (1)
- # datomic (39)
- # exercism (4)
- # figwheel-main (1)
- # fulcro (32)
- # graalvm (7)
- # gratitude (1)
- # integrant (4)
- # jobs (1)
- # lein-figwheel (3)
- # leiningen (4)
- # lsp (3)
- # luminus (3)
- # meander (2)
- # nextjournal (1)
- # off-topic (10)
- # other-languages (26)
- # pathom (14)
- # polylith (9)
- # re-frame (16)
- # remote-jobs (1)
- # shadow-cljs (4)
- # specter (2)
- # sql (6)
- # timbre (2)
- # tools-build (12)
- # xtdb (9)
Hi there
I'm currently working with a slack appender
for Timbre and it is a async appender. I was reading Timbre's code source, and it uses clojure agents to dispatch the appender function using send-off
As i was reading more about clojure agents and send-off function, apparently: "send-off" uses a separate thread pool which can grow as-needed. However, when using this code:
{:enabled? true
:async? true
:min-level :report
:rate-limit nil
:output-fn :inherit
:fn
(fn [{:keys [output_]}]
(Thread/sleep 5000)
(println "after sleep\n")}
I see a 5 seconds delay between each println, and this seems to me that, there's no multiple threads here, but only one thread that is acting as a queue. Why is that?
Also when i put a`(read-line)`, it blocks forever and the other dispatches never happens. My main concern here is whether this appender will run without issues in production and more importantly, will it degrade my performance ?