Skip to Content
AppTemplateExternal Tasks

External Tasks (LowCode)

External Tasks verbinden Node-RED mit der ProcessCube® Engine. Ein Custom Node registriert sich als Worker für ein bestimmtes BPMN-Topic und verarbeitet Tasks, die im Prozess anfallen.

Funktionsweise

Ablauf

  1. Registrierung — Der Node-RED Flow enthält einen External-Task-Node, der sich bei der Engine für ein Topic anmeldet
  2. Long-Polling — Der Worker wartet per HTTP Long-Polling auf neue Tasks
  3. Fetch & Lock — Sobald ein BPMN-Prozess einen Service Task mit dem passenden Topic erreicht, wird der Task an den Worker zugewiesen
  4. Verarbeitung — Der Node-RED Flow verarbeitet die Task-Daten
  5. Ergebnis — Das Ergebnis wird an die Engine zurückgemeldet, der Prozess läuft weiter

Beispiel: Hello Node mit External Task

Der mitgelieferte Hello Node zeigt die Integration:

module.exports = function(RED) { function HelloNode(config) { RED.nodes.createNode(this, config); const node = this; node.on('input', function(msg) { const greeting = config.greeting || 'Hello'; msg.payload = `${greeting}, ${msg.payload}!`; node.send(msg); }); } RED.nodes.registerType("hello", HelloNode); }

Der zugehörige BPMN-Prozess (Sample_With_Custome_Node.bpmn) definiert einen Service Task mit dem Topic, auf das der Node reagiert.

BPMN-Prozess erstellen

Damit ein External Task funktioniert, muss im BPMN-Prozess ein Service Task mit dem Typ external und einem passenden Topic definiert sein:

Start → Service Task (Topic: "hello") → End

Die Prozessdefinition wird im processes/-Verzeichnis abgelegt und beim Engine-Start automatisch geladen.

Docker-Build

Beim Bauen des LowCode Docker-Images werden die Custom Nodes in das Image integriert:

Nächste Schritte