(connect-node workflow node args)
Connects the sink of one flow as the source of the next updating the workflow.
Note: This operates on the inverse of the convention for streams. i.e. source
Connects the sink of one flow as the source of the next updating the workflow. Note: This operates on the inverse of the convention for streams. i.e. source
(default-flow {:flow/keys [id default-fn]})
Returns a flow map which wraps the provided default-fn
to decorate
the argument (as a map) with map values returned by the function.
Returns a flow map which wraps the provided `default-fn` to decorate the argument (as a map) with map values returned by the function.
(flowify flow-catalog arg & {:flow/keys [expand] :or {expand false} :as op})
Converts the argument into an appropriate flow.
Converts the argument into an appropriate flow. - flow map: pass-through - fn: returns a fn-flow (optionally uses result pipelining) - single arg: lookup flow in catalog
(fn-flow fn-arg & {:flow/keys [expand id] :or {expand false id nil} :as opts})
Returns a flow map for a fn which wraps its execution to conform to the stream model.
Returns a flow map for a fn which wraps its execution to conform to the stream model.
(interceptor-order flow-catalog
definition
&
{:keys [expand] :or {expand false} :as opts})
(invoke workflow)
(invoke {:workflow/keys [return-n put-timeout take-timeout expand repeat sink
source]
:or {return-n 1 expand false repeat false}
:as workflow}
rt-arg)
Operates on the sink/source to take up to n results from the workflow stream. always returns a seq of values.
Options
return-n Returns exactly n results from the workflow or fails if unable to do so when timeouts are specified, otherwise run will hang.
NOTES:
- If no put/take timeout is set and the workflow stream has a 1-1 relationship
between input and output run will hang until the stream has been provided
the required input arguments.
expand If the runtime argument is a seq, put-all instead of put is used.
repeat When return-n is greater than 1 and expand is false, will call put with the runtime args n times before calling take.
put-timeout Will wait X milliseconds before throwing an anomaly during put operations.
take-timeout Will wait X milliseconds before throwing an anomaly during take operations.
Operates on the sink/source to take up to n results from the workflow stream. always returns a seq of values. Options - return-n Returns exactly n results from the workflow or fails if unable to do so when timeouts are specified, otherwise run will hang. NOTES: - If no put/take timeout is set and the workflow stream has a 1-1 relationship between input and output run will hang until the stream has been provided the required input arguments. - expand If the runtime argument is a seq, put-all instead of put is used. - repeat When return-n is greater than 1 and expand is false, will call put with the runtime args n times before calling take. - put-timeout Will wait X milliseconds before throwing an anomaly during put operations. - take-timeout Will wait X milliseconds before throwing an anomaly during take operations.
(linear-order
flow-catalog
definition
&
{:keys [expand omit-leave] :or {expand false omit-leave false} :as opts})
(lookup-flow catalog id & {:keys [throw-missing] :or {throw-missing false}})
Looks up a flow from the catalog by its :flow/id
Looks up a flow from the catalog by its :flow/id
(validate-topology flow-catalog definition)
Checks that the entries of the workflow definition to be processed by workflow-factory
is a seq, isn't empty, has a recognized type and exists in the catalog when defined by id.
Checks that the entries of the workflow definition to be processed by `workflow-factory` is a seq, isn't empty, has a recognized type and exists in the catalog when defined by id.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close