Prozesse
Prozessbeschreibungen definieren die Prozesse, die der Baustein Processes veröffentlicht und ausführt.
Konfiguration
Eine Prozessbeschreibung folgt der Anforderungsklasse OGC PROCESS DESCRIPTION, 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:
| Name | Default | Beschreibung | Typ | Seit |
|---|---|---|---|---|
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}.