An abstract program runtime for ASTs produced by ablauf.job.ast
.
This exposes two functions for the outside world: make
and restart
You are expected to create a program to be ran with the functions
available in the ablauf.job.ast
namespace. This program is then
initialized with the rough equivalent of an instruction pointer and
a context.
This namespace makes no guess as to how program instructions are actually performed, instead, for each position of the program, it yields the instructions to carry out. There might be more than one if parallelism is used.
The logical flow is thus:
For an actual full fledged program runner, a runner using
manifold as the underlying dispatching engine is provided
in ablauf.job.manifold
, an SQL backed one in ablauf.job.sql
.
An abstract program runtime for ASTs produced by `ablauf.job.ast`. This exposes two functions for the outside world: `make` and `restart` You are expected to create a *program* to be ran with the functions available in the `ablauf.job.ast` namespace. This program is then initialized with the rough equivalent of an instruction pointer and a context. This namespace makes no guess as to how program instructions are actually performed, instead, for each position of the program, it yields the instructions to carry out. There might be more than one if parallelism is used. The logical flow is thus: - call restart on a program with an empty result list - carry out resulting actions - call restart on the result of the actions For an actual full fledged program runner, a runner using **manifold** as the underlying dispatching engine is provided in `ablauf.job.manifold`, an SQL backed one in `ablauf.job.sql`.
Specifies an AST and provides helper functions to build it
Specifies an AST and provides helper functions to build it
An execution engine for warp jobs on manifold. To perform parallel actions with manifold.
Execution is represented as a stream on which results are produced.
The stream is closed when execution is finished.
Each execution step is store with the help of a
ablauf.job.store/JobStore
implementation that
needs to be supplied.
This namespace makes no assumption on how to actually
perform side-effects, consumers of runner
need to
extend the dispatch-action
multimethod to perform those.
An execution engine for warp jobs on manifold. To perform parallel actions with manifold. Execution is represented as a stream on which results are produced. The stream is closed when execution is finished. Each execution step is store with the help of a `ablauf.job.store/JobStore` implementation that needs to be supplied. This namespace makes no assumption on how to actually perform side-effects, consumers of `runner` need to extend the `dispatch-action` multimethod to perform those.
Operations on job nodes (statements) outside zippers
Operations on job nodes (statements) outside zippers
A minimalist job queue worker for SQL. This assumes
multiple worker off of a main job queue. In the following
code, each worker is assumed to be able to process both
actions and workflow evaluation. The processing is based off
of two tables: task
and workflow_run
. workflow_run
holds
information about a full workflow run and its current status,
while task
is used for both calls to job/restart
and action
dispatches.
A minimalist job queue worker for SQL. This assumes multiple worker off of a main job queue. In the following code, each worker is assumed to be able to process both actions and workflow evaluation. The processing is based off of two tables: `task` and `workflow_run`. `workflow_run` holds information about a full workflow run and its current status, while `task` is used for both calls to `job/restart` and action dispatches.
An execution engine for synchronous execution of ablauf jobs.
This namespace makes no assumption on how to actually perform side-effects, an action runner fn must be provided.
An execution engine for synchronous execution of ablauf jobs. This namespace makes no assumption on how to actually perform side-effects, an action runner fn must be provided.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close