This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-06-15
Channels
- # admin-announcements (7)
- # alda (1)
- # aws-lambda (1)
- # beginners (12)
- # boot (20)
- # cider (59)
- # cljs-dev (4)
- # cljsrn (69)
- # clojure (232)
- # clojure-austin (3)
- # clojure-austria (1)
- # clojure-belgium (2)
- # clojure-canada (3)
- # clojure-dev (16)
- # clojure-greece (33)
- # clojure-nl (4)
- # clojure-quebec (12)
- # clojure-russia (12)
- # clojure-spec (27)
- # clojure-uk (38)
- # clojurescript (29)
- # community-development (7)
- # component (53)
- # core-async (16)
- # core-logic (1)
- # datascript (7)
- # datomic (11)
- # editors (7)
- # emacs (69)
- # hoplon (157)
- # keechma (1)
- # lambdaisland (2)
- # lein-figwheel (31)
- # leiningen (8)
- # mount (3)
- # off-topic (11)
- # om (23)
- # onyx (64)
- # planck (2)
- # re-frame (18)
- # reagent (21)
- # specter (118)
- # untangled (145)
- # yada (1)
When you hit the limit on queued puts you can look outside core.async for something to act as an unbounded buffer, like a list, but that is treating a symptom
Hitting the queued puts limit means you are queueing items faster than you can process them, and an unbounded buffer isn't going to solve that
You may want to look at a sliding buffer or a dropping buffer, which are different policies for handling producing faster than you can consume
A lot of JavaScript callback APIs are problematic in that they don't have a good way to communicate back pressure to slow a producer down for a consumer
I would look at using two channels, one to send lines to be processed down, and one to ack lines as processed
The callback for each line should put! The line on the line channel then read from the ack channel. Maybe that would be take! I don't remember.
Blegh, it doesn't actually look like take! Would do it, so there just may not be a way to do the feedback think
Has anyone written a core.async channel that closed at a certain time, rather than after a duration of time has elapsed?
Would be easy to do with existing Java stuff
If the jvm is paused for an amount of time (e.g. laptop turned off, but other scenarios seem plausible) the timeout doesn’t count the paused time
@donaldball: does GC affect it too?
Do you mean JVM pauses for GC? Frankly I’m not sure.
AFAICT the java.util.concurrent classes only provide guarantees on the minimum amount of time things will delay
I’m not actually sure the best way to accomplish my goal with the j.u.c stuff, tbqh. Seems like my best bet might be to start a ScheduledThreadPoolExecutor running e.g. every minute, have it check the system time, and send any necessary signals