Processes

Process descriptions define the processes that the building block Processes publishes and executes.

Configuration

A process description follows the requirements class OGC PROCESS DESCRIPTIONopen in new window, e.g. with id, title, version, jobControlOptions, inputs and outputs.

Additionally, the option job defines the job that runs an execution. Each step of the job is queued as a partial job of kind oap:{processId}:{step}, to be processed by ldproxy or by a processor outside of ldproxy, e.g. an xtralink workflow. All options of job are optional:

NameDefaultDescriptionTypeSince
setup
false
Whether the job starts with the step setup. The steps in partials are then queued once it succeeded.
boolean
4.9
partials
[execute]
The steps that execute the process, e.g. [transform, execute]. At least one step is required. The names setup, cleanup and finalize are reserved for the phases of every job. A step with a colon is the kind of a job of another processor and is queued as it is, e.g. feature-query:execute for a search with a stored query.
array
4.9
sequential
false
Whether the steps in partials run one after the other in the given order, each only once the previous one succeeded. Otherwise they run in parallel.
boolean
4.9
cleanup
false
Whether the job ends with the step cleanup, which also runs after a failure.
boolean
4.9

Example

A process Echo that returns its input, executed by a single step oap:EchoProcess:execute:


---
id: EchoProcess
title: Echo Process
description: This process simply echoes its input as an output.
version: 1.0.0
jobControlOptions: [SYNC_EXECUTE, ASYNC_EXECUTE]
inputs:
  inputString:
    title: Input String
    schema:
      type: string
outputs:
  inputString:
    title: Input String
    schema:
      type: string
job:
  partials: [execute]

Storage

Process descriptions reside in the Store as values with type processes. Global process descriptions are stored in values/processes, process descriptions for a specific API in values/processes/{apiId}.