std.GetNextCPMessage

Dieser Job liefert die nächste anstehende Content-/Processing-Message aus den angegebenen Queues und reserviert sie für die aufrufende Service-Instanz. Wird in einer Polling-Schleife durch Volltext-Indexer, Rendition-Cache und vergleichbare Worker aufgerufen, um Aufträge aus der serverseitigen oscpmqueue-Tabelle abzuholen.

Auswahl-, Sperr- und Coalescing-Verhalten sowie der vollständige Lebenszyklus einer CP-Message sind unter Capture- und Processing-Messages (CP) beschrieben.

Der Job ist in der offiziellen enaio®-Standard-Engine-Übersicht (std) nicht gelistet.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

QueueNames

STRING

Ja

Name der Queue, aus der die nächste Nachricht abgerufen werden soll. Eine kommaseparierte Liste mehrerer Queue-Namen ist möglich; in diesem Fall wird die jüngste freie Nachricht aus allen genannten Queues geliefert.

ServiceName

STRING

Ja

Identifier (Instanz-ID) der aufrufenden Service-Instanz. Wird beim erfolgreichen Pickup als lock_service an der Nachricht hinterlegt und identifiziert die Instanz für nachfolgende Operationen wie std.DispatchCPMessage und std.ResetServiceCPMessages. Muss pro Worker-Instanz eindeutig sein.

Flags

INT

Ja

Reserviert; stets 0 übergeben.

[OutputUnicode]

INT

Nein

1 — String-Felder der Ausgabe werden als UTF-16 geliefert. Default: ANSI.

2. Ausgabeparameter

Die folgenden Felder werden nur geliefert, wenn eine Nachricht reserviert werden konnte. Liegt aktuell keine freie Nachricht in den abgefragten Queues vor, liefert der Job nur eine leere MessageGUID zurück — die übrigen Felder fehlen dann.

Name Typ Abhängigkeit Beschreibung

MessageGUID

STRING

GUID der reservierten Nachricht (Hex, 32 Zeichen, ohne Trennzeichen). Identifiziert die Nachricht für nachfolgende Aufrufe — insbesondere für die Quittierung über std.DispatchCPMessage. Leerer String, wenn keine Nachricht verfügbar war.

[ObjectID]

INT

Nur bei erfolgreichem Pickup

Numerische ID des DMS-Objekts, auf das sich die Nachricht bezieht.

[ObjectType]

INT

Nur bei erfolgreichem Pickup

Objekttyp-ID des DMS-Objekts.

[QueueName]

STRING

Nur bei erfolgreichem Pickup

Tatsächlicher Queue-Name, aus dem die Nachricht stammt — relevant, wenn QueueNames als kommaseparierte Liste übergeben wurde.

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode. Eine leere MessageGUID ist ebenfalls Erfolgsfall — es liegt lediglich keine wartende Nachricht vor.

4. Verwandte Jobs