Zum Hauptinhalt springen

getRunningTasksByTaskIdPrefix

function getRunningTasksByTaskIdPrefix(
db: DBConnection,
provider: DBProvider,
taskType: string,
taskIdPrefix: string
): TaskInfoEntry[];

Die Funktion getRunningTasksByTaskIdPrefix gibt alle Einträge der Datenbank-Tabelle taskAudit zurück, die sich im Status running befinden, dem angegebenen taskType entsprechen und deren taskId mit dem angegebenen taskIdPrefix beginnt.

Damit lässt sich prüfen, ob für einen bestimmten Tasktyp bereits ein Job mit einem zusammengesetzten taskId-Wert (z. B. <configId>::<connectorTaskId>) läuft, ohne eine eigene Spalte für die Konfigurations-Id einführen zu müssen. Das %-Wildcard wird intern angehängt; übergeben wird nur der reine Präfix ohne SQL-Wildcard-Zeichen.

Der Rückgabe-Parameter der Funktion ist ein Array vom Typ TaskInfoEntry.

Beispiele

Aufruf im PortalScript, um zu prüfen, ob für eine bestimmte SPCC-Konfiguration bereits ein Task läuft:

const { getRunningTasksByTaskIdPrefix } = require("ou.sp.TaskAudit");
const { getDatabaseConnectionAndProviderOrThrow } = require("ou.sp.library.dbConnections");

const { db, provider } = getDatabaseConnectionAndProviderOrThrow("ousp");
const running = getRunningTasksByTaskIdPrefix(db, provider, "SPCC", "myConfig::");

if (running.length > 0) {
context.returnValue = `Task für Konfiguration 'myConfig' läuft bereits: ${running[0].taskId}`;
} else {
context.returnValue = "Keine laufenden Tasks für 'myConfig'";
}

Rückgabewert:

[
{
"taskType": "SPCC",
"taskId": "myConfig::abc-123",
"status": "running",
"errorMessage": null,
"startDate": "2025-08-19T08:01:50.000Z",
"endDate": null
}
]