Prozesse

Prozessbeschreibungen definieren die Prozesse, die der Baustein Processes veröffentlicht und ausführt.

Konfiguration

Eine Prozessbeschreibung folgt der Anforderungsklasse OGC PROCESS DESCRIPTIONopen in new window, z.B. mit id, title, version, jobControlOptions, inputs und outputs.

Zusätzlich legt die Option job den Job fest, der eine Ausführung durchführt. Jeder Schritt des Jobs wird als Teil-Job der Art oap:{processId}:{schritt} eingereiht und von ldproxy oder einem Prozessor außerhalb von ldproxy verarbeitet, z.B. einem xtralink-Workflow. Alle Optionen von job sind optional:

NameDefaultBeschreibungTypSeit
setup
false
Ob der Job mit dem Schritt setup beginnt. Die Schritte in partials werden dann eingereiht, sobald er erfolgreich war.
boolean
4.9
partials
[execute]
Die Schritte, die den Prozess ausführen, z.B. [transform, execute]. Mindestens ein Schritt ist erforderlich. Die Namen setup, cleanup und finalize sind für die Phasen jedes Jobs reserviert. Ein Schritt mit einem Doppelpunkt ist die Art eines Jobs eines anderen Prozessors und wird unverändert eingereiht, z.B. feature-query:execute für eine Suche mit einer gespeicherten Abfrage.
array
4.9
sequential
false
Ob die Schritte in partials nacheinander in der angegebenen Reihenfolge laufen, jeder erst, wenn der vorige erfolgreich war. Sonst laufen sie parallel.
boolean
4.9
cleanup
false
Ob der Job mit dem Schritt cleanup endet, der auch nach einem Fehler läuft.
boolean
4.9

Beispiel

Ein Prozess Echo, der seine Eingabe zurückgibt und von einem einzigen Schritt oap:EchoProcess:execute ausgeführt wird:


---
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]

Speicherung

Prozessbeschreibungen liegen im Store als Values mit Typ processes. Globale Prozessbeschreibungen liegen in values/processes, Prozessbeschreibungen für eine bestimmte API in values/processes/{apiId}.