(chain source-ch xf & [ex-handler])
Create a channel connected to a transducer.
Works like pipe
, but read continuously from input even if an output
channel is closed.
If an input channel is closed, output will be closed too.
Create a channel connected to a transducer. Works like `pipe`, but read continuously from input even if an output channel is closed. If an input channel is closed, output will be closed too.
(cleanup-in-background ch)
Slurp all data in a channel and abandon them silently.
Slurp all data in a channel and abandon them silently.
(concurrent-process parallel-count output-ch f input-ch)
Create a concurrent process backed by core.async/pipeline.
f
must be a function of two arguments. the first is a value retrieved a pipeline.
the second is a options-map supplied to concurrently
function.
f
should be CPU-bounded, should not run blocking actions in f
Create a concurrent process backed by core.async/pipeline. `f` must be a function of two arguments. the first is a value retrieved a pipeline. the second is a options-map supplied to `concurrently` function. `f` should be CPU-bounded, should not run blocking actions in `f`
(concurrent-process-blocking parallel-count output-ch f input-ch)
Create a concurrent process backed by core.async/pipeline-blocking.
f
must be a function of two arguments. the first is a value retrieved a pipeline.
the second is a options-map supplied to concurrently
function.
You should use this function if the f
is a blocking function.
Create a concurrent process backed by core.async/pipeline-blocking. `f` must be a function of two arguments. the first is a value retrieved a pipeline. the second is a options-map supplied to `concurrently` function. You should use this function if the `f` is a blocking function.
(get-results ch
&
[{catch-fn :catch
finally-fn :finally
context-name :context-name
timeout-ms :timeout-ms
:or {context-name "none" timeout-ms 120000}}])
Safely read all data from a channel and return a vector containing all read data. the items read from a channel must be databoxes. The result vector contains unboxed data of the read items. If an exception occurred while resolving read items, an exception will be thrown.
This function will throw an exception if :timeout-ms option value isn't :no-timeout and no data available from the 'ch' channel after the :timeout-ms. The :catch function will be called if a databox contains an exception, then returns a failure databox. The :finally function will be called always.
'ch' will be read fully even if this function returns early before reading all data from 'ch',
because a go-block is launched automatically for reading 'ch' fully.
So a pipeline backing the 'ch' never be stacked by never-read-data remained in a pipeline.
Safely read all data from a channel and return a vector containing all read data. the items read from a channel must be databoxes. The result vector contains unboxed data of the read items. If an exception occurred while resolving read items, an exception will be thrown. This function will throw an exception if :timeout-ms option value isn't :no-timeout and no data available from the 'ch' channel after the :timeout-ms. The :catch function will be called if a databox contains an exception, then returns a failure databox. The :finally function will be called always. 'ch' will be read fully even if this function returns early before reading all data from 'ch', because a go-block is launched automatically for reading 'ch' fully. So a pipeline backing the 'ch' never be stacked by never-read-data remained in a pipeline.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close