std.ProcessSlideCPMessages
This job drains the SLIDE queue in oscpmqueue in a single
call. A SLIDE message indicates that a slide representation (per-page preview / display
images) for a DMS object needs to be produced or rebuilt. The job iterates over every SLIDE
message currently available, produces the slides through the rendition/converter pipeline
and removes the message from the queue after successful processing.
Unlike the pull-based single pickup via std.GetNextCPMessage, this is a batch processor: one call processes as many messages as are currently available in the SLIDE queue and only returns afterwards.
The job is primarily designed as a server-internal scheduler job and is invoked automatically at regular intervals. An explicit external API call is possible but not required in normal operation.
Selection, locking and coalescing behaviour are described under Capture and Processing Messages (CP).
|
This job is not listed in the official enaio® standard engine overview ( |
1. Input Parameters
The job takes no content input parameters. It drains the SLIDE queue completely and without filtering.
2. Output Parameters
The job returns three positional integer counters describing the batch run statistics:
| Position | Meaning |
|---|---|
1 |
Number of SLIDE messages found in |
2 |
Number of messages processed successfully. |
3 |
Number of messages whose processing failed. |
3. Return Value
(INT): 0 = batch run completed successfully, otherwise error code. Errors processing
individual messages are not reported through the return value but through the third counter
— return_code != 0 indicates a hard failure of the batch run itself (e.g. database
connection lost).
4. Notes
-
Reentrant — the job may run concurrently on multiple server threads. Locking happens per message via
oscpmqueue.lock_service(see Selection and locking behaviour); two parallel runs automatically pick disjoint message sets. -
Fast path on empty queue — if no SLIDE messages are available, the job returns immediately with all counters at
0. -
Messages that fail to process — if processing of a message fails, the message stays in the queue with
lock_serviceset and can be released for another run via std.ResetServiceCPMessages. -
Follow-up notification — after successful slide creation, per object std.CPRenditionChanged with
Reason=SLIDEmay be raised to inform downstream components about the new representation.
5. Related Jobs
-
std.GetNextCPMessage — pull-based single pickup for other queues (
FULLTEXTIDX,RENDITION, …); the SLIDE queue is intentionally not consumed this way but processed in batch on the server side -
std.CreateCPMessages — entry point for creating CP messages (
FULLTEXTIDX,FULLTEXTFILTER,RENDITION); SLIDE messages are inserted through other server-internal paths -
std.CPRenditionChanged — typical follow-up notification after successful slide creation
-
std.DispatchCPMessage — generic cleanup path for a processed CP message; not used by the batch processor since the SLIDE message is removed within the job itself
-
std.ResetServiceCPMessages — releases reservations left behind by aborted workers