Skip to Content
AppSDKExternal TasksExternal Tasks

External Tasks

External Tasks sind ein zentrales Konzept in BPMN-Prozessen. Sie ermöglichen es, Aufgaben aus einem Prozess heraus an externe Systeme zu delegieren. Das ProcessCube® App-SDK integriert External Tasks direkt in Next.js-Anwendungen — dateibasiert, automatisch und typsicher.

Wie funktioniert es?

Das App-SDK nutzt das App-Verzeichnis von Next.js. Ähnlich wie app/dashboard/page.tsx eine Route /dashboard definiert, definiert app/filter_email/external_task.ts einen External Task Worker für das Topic filter_email.

Beim Start der Anwendung werden alle external_task.ts-Dateien automatisch erkannt, transpiliert und als Worker-Prozesse gestartet. Änderungen an den Dateien führen zu einem automatischen Neustart des Workers (Hot Reload).

Schnellstart

next.config.ts konfigurieren

next.config.ts
const { withApplicationSdk } = require('@5minds/processcube_app_sdk/server'); const nextConfig = { serverExternalPackages: ['esbuild'], applicationSdk: { useExternalTasks: true, }, }; module.exports = withApplicationSdk(nextConfig);

Handler-Datei erstellen

Erstellen Sie eine Datei external_task.ts in einem Unterverzeichnis von app/. Der Verzeichnisname wird zum Topic.

app/filter_email/external_task.ts
export default async function filterEmail(payload: any) { const isSpam = payload.subject?.includes('SPAM'); return { is_spam: isSpam }; }

Anwendung starten

npm run dev

Der Worker wird automatisch erkannt und gestartet. In der Konsole erscheint:

Started external task worker ... for topic 'filter_email'

Funktionsüberblick

FeatureBeschreibung
Dateibasierte Erkennungexternal_task.ts im App-Verzeichnis wird automatisch erkannt
Topic aus PfadVerzeichnisname = Topic (app/send_email/send_email)
Hot ReloadDateiänderungen starten den Worker automatisch neu
AbortSignalBoundary Events brechen laufende Tasks sauber ab
Automatischer NeustartBei Fehlern wird mit Exponential Backoff neu gestartet
Token-ManagementAutomatischer Token-Refresh bei Authority-Integration
KonfigurierbarlockDuration, maxTasks, payloadFilter und mehr

Weiterführende Themen