Liking cljdoc? Tell your friends :D

missinterpret.flows.system.workflow


flowifyclj

(flowify catalog log-fn args node)

Converts the argument into an appropriate flow.

  • flow or workflow: pass-through
  • fn: returns a fn-flow (optionally uses result pipelining via expand-flow)
  • else: lookup flow in catalog
Converts the argument into an appropriate flow.

- flow or workflow: pass-through
- fn: returns a fn-flow (optionally uses result pipelining via expand-flow)
- else: lookup flow in catalog
raw docstring

loadclj

(load catalog {:workflow/keys [log-fn isolated] :as wf})

Returns a loaded workflow by preparing its definition by ensuring that all nodes in the definition can either be converted into flows or loaded workflows compatible with the core load-streams function.

This function expects that the catalog contains all named references in the definition to be either flows, loaded workflows or, when the isolated flag is set to true or the workflow is unloaded it has a definition with nodes which also follow the contraints.

The steps are:

  1. Flowify all nodes in the definition
  2. Flow: return it
  3. Workflow: When wf arg is isolated - load it
  4. Workflow: Loaded - return it
  5. Workflow: Unloaded - load it
  6. Else: throw anomaly

Notes:

  • The isolated condition is inherited by all encountered dependent workflows so that the sink/source of the returned workflow has a manifold topology not shared by any other workflow.
  • The state of the log-fn of the argument workflow is inherited by any dependent workflows loaded
Returns a loaded workflow by preparing its definition
 by ensuring that all nodes in the definition can either
 be converted into flows or loaded workflows compatible
 with the core load-streams function.

 This function expects that the catalog contains all
 named references in the definition to be either flows,
 loaded workflows or, when the isolated flag is set to `true`
 or the workflow is unloaded it has a definition
 with nodes which also follow the contraints.

 The steps are:
  1. Flowify all nodes in the definition
  2. Flow: return it
  3. Workflow: When wf arg is isolated - load it
  4. Workflow: Loaded - return it
  5. Workflow: Unloaded - load it
  6. Else: throw anomaly

Notes:
 - The isolated condition is inherited by all encountered dependent workflows so that the sink/source of the
   returned workflow has a manifold topology not shared by any other workflow.
 - The state of the log-fn of the argument workflow is inherited by any dependent workflows loaded
raw docstring

lookup-nodeclj

(lookup-node {:flows.runtime/keys [flows workflows] :as catalog} id)

Looks up the flow or workflow which has the id. Throws an exception if there is no match.

Looks up the flow or workflow which has the id. Throws an exception
if there is no match.
raw docstring

try-loadclj

(try-load catalog {:workflow/keys [lazy-load] :as wf})

Returns a loaded workflow if it is not marked as lazy/defer.

Returns a loaded workflow if it is not marked as lazy/defer.
raw docstring

validate-workflow-graphclj

(validate-workflow-graph wf-catalog {:workflow/keys [log-fn] :as wf})
(validate-workflow-graph wf-catalog wf log-fn graph)

Returns the dependency graph of the workflow definition as a seq of ids sorted in topological order.

Validates that if the workflows definition has references that the DAG of its nested dependencies is not cyclic, throwing an exception when a back reference is encountered.

NOTE: This requires that all worklfows in the catalog have definitions that only have references which exists in the catalog. This means it does not attempt to validate circular references that may appear in a workflow embeded in a definition.

Returns the dependency graph of the workflow definition
 as a seq of ids sorted in topological order.

 Validates that if the workflows definition has references
 that the DAG of its nested dependencies is not cyclic,
 throwing an exception when a back reference is encountered.

NOTE: This requires that all worklfows in the catalog
      have definitions that only have references which
      exists in the catalog. This means it does not
      attempt to validate circular references that may
      appear in a workflow embeded in a definition.
raw docstring

workflow-refsclj

(workflow-refs catalog workflow)

Returns a seq of the workflow reference ids in the workflow definition or nil if none are present

Returns a seq of the workflow reference ids in the
workflow definition or nil if none are present
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close