Liking cljdoc? Tell your friends :D

missinterpret.flows.system.state


add-embedded-wfsclj

(add-embedded-wfs wf-catalog log-fn)

Updates the workflow catalog to add all embedded workflows to the catalog using the uuid as a key and substituting the wf with its reference wherever it appears.

Updates the workflow catalog to add all embedded workflows to the
catalog using the `uuid` as a key and substituting the wf with its
reference wherever it appears.
raw docstring

base-workflow-catalogclj

(base-workflow-catalog {:flows/keys [log-fn]
                        :flows.workflow/keys [default]
                        :flows.definition/keys [workflows pedestal-routes]})

Creates a workflow catalog which is populated with all wfs which come from the workflow definitions and pedestal routes. When a default is provied populates all workflows with an enriched :workflow/args by merging its contents

Note: only validates for id uniqueness of wf in catalog

Creates a workflow catalog which is populated with all wfs which
 come from the workflow definitions and pedestal routes.
 When a default is provied populates all workflows with an
 enriched `:workflow/args` by merging its contents

Note: only validates for id uniqueness of wf in catalog
raw docstring

deps-graph-catalogclj

(deps-graph-catalog wf-catalog log-fn)

Returns a workflow catalog which replaces its wf values with a data structure that includes the graph for each wf: {:workflow workflow :graph []} Note: Validates that the workflows are well-formed and don't have cycli c dependencies

Returns a workflow catalog which replaces its wf values with a data structure
 that includes the graph for each wf: `{:workflow workflow :graph []}`
 Note: Validates that the workflows are well-formed and don't have cycli
c dependencies
raw docstring

dissoc-in!clj

(dissoc-in! path id)

Removes an entity from the catalog

Removes an entity from the catalog
raw docstring

flows-catalogclj

(flows-catalog
  {:flows/keys [log-fn] :flows.definition/keys [flows] :as flow-definitions})

load-system-catalogclj

(load-system-catalog {:flows/keys [log-fn] :as flows-definition})

Loads a system runtime catalog from the flows definition which are not marked at :workflow/lazy-load true.

Notes

  • Validates all flows and workflows checking for valid flow-fns, workflow structure and cyclic dependencies in definitions.
  • Workflow loads by unpacking all embeded references and loading them the order of least graph dependencies to most which maps to dependency reference depth.
Loads a system runtime catalog from the flows definition which
are not marked at `:workflow/lazy-load true`.

Notes
 - Validates all flows and workflows checking for
   valid flow-fns, workflow structure and cyclic dependencies in
   definitions.
 - Workflow loads by unpacking all embeded references
   and loading them the order of least graph dependencies
   to most which maps to dependency reference depth.
raw docstring

refed-and-deps-graph-catalogclj

(refed-and-deps-graph-catalog {:flows/keys [log-fn] :as flows-definition})

replace-wf-embedded-refsclj

(replace-wf-embedded-refs wf-catalog k wf log-fn)

Replaces the definition of a workflow with ref'ed versions of any embedded wfs. If the embeded wf does not yet exist in the catalog it is added with its uuid as the key

NOTE If an embed refs something already in cat we are just substituting the ref. This has a risk because you can't technically validate that the wf in catalog is the same as the embed you are evaluating because a later wf could reference an already replaced embed with replaced refs so there will be a definition mismatch w/ identical uuids when comparing. This is assessed as low risk structurally.

Replaces the definition of a workflow with ref'ed versions of
 any embedded wfs. If the embeded wf does not yet exist in the catalog
 it is added with its uuid as the key

NOTE
If an embed refs something already in cat we are just substituting the ref.
This has a risk because you can't technically validate that
the wf in catalog is the same as the embed you are evaluating because
a later wf could reference an already replaced embed with replaced refs
so there will be a definition mismatch w/ identical uuids when comparing.
This is assessed as low risk structurally.
raw docstring

reset-state!clj

(reset-state!)

Resets the runtime state unloading all entities from the catalogs.

Resets the runtime state unloading all entities from the catalogs.
raw docstring

startclj

(start {:flows/keys [log-fn] :as flows-definition})

Start function used by both mount and component. It stores the system catalog in the atom that is used by the flow, workflow,and core catalog apis.

Flows and workflows are validated and workflows which are not marked as lazy-load are loaded.

Note: Loading Order

  1. Compile Time: Flows pedestal routes are processed; Workflows are not loaded
  2. System startup: Flows and all workflows are validated, are added to the catalogs, and the result is stored to state-atom.
Start function used by both mount and component.
 It stores the system catalog in the atom that is used by
 the flow, workflow,and core catalog apis.

 Flows and workflows are validated and workflows which
 are not marked as lazy-load are loaded.

Note: Loading Order
 1. Compile Time: Flows pedestal routes are processed; Workflows are not loaded
 2. System startup: Flows and all workflows are validated, are added to the catalogs,
                    and the result is stored to state-atom.
raw docstring

state-atomclj

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