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.
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.
Possibly useful: https://gist.github.com/henryw374/b525dc4f41c667c9272e1773c689066f https://gist.github.com/gonewest818/bfa37a77a1967eadc838f6938701efa8
@kwladyka Add timeouts. Generate alert when timeout occurs. https://clojurians.slack.com/archives/C05423W6H/p1582884256187100
And the cli itself of course: https://lambdaisland.com/blog/2019-12-15-advent-of-parens-15-jcmd-and-jstack
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
currently, no
conceptually, use pipeline for cpu-only tasks, use pipeline-blocking if your task has i/o or other blocking ops
and then we won't break you if we change the executor implementation in the future
Fair enough, thank you!
pipeline could potentially used its own fixed size pool in the future