(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 is a website building & hosting documentation for Clojure/Script libraries
× close