Fork me on GitHub
#core-async
<
2020-02-28
>
kwladyka10:02:00

ha I was right, the job in queue never finish for some reason. Now I have to figure out why. queue-warehouse finish jobs and wait for new jobs, so this is not deadlock. But I have to figure out why the hell queue job freeze during the process.

kwladyka10:02:16

How would you solve this? How to figure out on which line the app freeze during the process… I can add debugs everywhere, but it can take a lot of time to guess.

bfay19:02:36

Is there an actual difference between pipeline and pipeline-blocking? In the source, both functions call out to pipeline* - the first passes :compute as the "type" argument, and the second passes :blocking But it looks like both of those conditions fall into the same case https://github.com/clojure/core.async/blob/1c5efa72ebf65cd23315311d2bc3d890b780696e/src/main/clojure/clojure/core/async.clj#L520

Alex Miller (Clojure team)19:02:53

conceptually, use pipeline for cpu-only tasks, use pipeline-blocking if your task has i/o or other blocking ops

Alex Miller (Clojure team)19:02:09

and then we won't break you if we change the executor implementation in the future

bfay19:02:31

Fair enough, thank you!

Alex Miller (Clojure team)19:02:51

pipeline could potentially used its own fixed size pool in the future