(load workflow)(load flow-catalog
{:workflow/keys [default-fn defer-load lazy-load args force] :as rt-args})Loads and connects the flows in the workflow definition adding
the manifold source/sink making it compatible with run unless
either defer-load and lazy-load are true.
Note: The force option will always load the workflow definition.
Loads and connects the flows in the workflow definition adding the manifold source/sink making it compatible with run unless either `defer-load` and `lazy-load` are true. Note: The `force` option will always load the workflow definition.
(run workflow)(run {:workflow/keys [return-n expand return-error] :as workflow} runtime-arg)Executes a loaded workflow returning the results.
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
throw-on-error When true any exception is returned as an anomaly.
Note that this will over-ride the:workflow/throw attribute if defined.
return-n Returns exactly n results from the workflow or fails if unable to do so.
Note this option keeps the workflow 'loaded' which means the passed workflow can be
used with run again. This will over-ride the `:workflow/return-n attribute if defined.
repeat When true and return-n is specified, run will put! n times before calling take.
expand When true run will put-all! when the runtime argument is a seq.
put-timeout Sets the amount of time run will wait before considering the operation failed.
put-timeout Sets the amount of time run will wait before considering the operation failed.
Executes a loaded workflow returning the results.
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
- throw-on-error When true any exception is returned as an anomaly.
Note that this will over-ride the`:workflow/throw` attribute if defined.
- return-n Returns exactly n results from the workflow or fails if unable to do so.
Note this option keeps the workflow 'loaded' which means the passed workflow can be
used with `run` again. This will over-ride the `:workflow/return-n attribute if defined.
- repeat When true and `return-n` is specified, `run` will `put!` n times before calling `take`.
- expand When true `run` will `put-all!` when the runtime argument is a seq.
- put-timeout Sets the amount of time `run` will wait before considering the operation failed.
- put-timeout Sets the amount of time `run` will wait before considering the operation failed.(workflow-factory workflow)(workflow-factory workflow flow-args)(workflow-factory flow-catalog
{:workflow/keys [definition id expand order]
:or {id nil expand false order :linear}
:as wf}
{:flows/keys [source sink] :as factory-args})Converts a workflow definition into an entity which is ready for stream operations by using the returned :workflow/source and :workflow/sink arguments.
Topology
Determines the order of flow execution of the definition. The topology is linear unless another ordering is imposed.
Options
:linear (default) The topology is in the order provided by the definition vector :interceptor The call stack will match the interceptor-chain calling order when :flow/before-fn and/or :flow/after-fn exist in any of the definitions flows.
Converts a workflow definition into an entity which is ready for
stream operations by using the returned :workflow/source and :workflow/sink
arguments.
Topology
Determines the order of flow execution of the definition.
The topology is linear unless another ordering is imposed.
Options
- :id Adds the id to the workflow
- :order Sets the topology of the execution order
:linear (default) The topology is in the order provided by the definition vector
:interceptor The call stack will match the interceptor-chain calling order
when :flow/before-fn and/or :flow/after-fn exist in any of the
definitions flows.
- :expand Passes all the results from a sequential value into the downstream
flow individually.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |